An issue was discovered in the Linux kernel before 5.19. In pxa3xx_gcu_write in drivers/video/fbdev/pxa3xx-gcu.c, the count parameter has a type conflict of size_t versus int, causing an integer overflow and bypassing the size check. After that, because it is used as the third argument to copy_from_user(), a heap overflow may occur. NOTE: the original discoverer disputes that the overflow can actually happen.
The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
Link | Tags |
---|---|
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.19 | release notes vendor advisory |
https://github.com/torvalds/linux/commit/a09d2d00af53b43c6f11e6ab3cb58443c2cac8a7 | third party advisory patch |
https://lists.debian.org/debian-lts-announce/2022/10/msg00000.html | third party advisory mailing list |
https://www.debian.org/security/2022/dsa-5257 | third party advisory vendor advisory |
https://lists.debian.org/debian-lts-announce/2022/11/msg00001.html | third party advisory mailing list |
https://lore.kernel.org/all/YylaC1wHHyLw22D3%40kadam/T/ |