The wordexp function in the GNU C Library (aka glibc) through 2.33 may crash or read arbitrary memory in parse_param (in posix/wordexp.c) when called with an untrusted, crafted pattern, potentially resulting in a denial of service or disclosure of information. This occurs because atoi was used but strtoul should have been used to ensure correct calculations.
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://sourceware.org/glibc/wiki/Security%20Exceptions | not applicable |
https://sourceware.org/bugzilla/show_bug.cgi?id=28011 | third party advisory issue tracking |
https://sourceware.org/git/?p=glibc.git%3Ba=commit%3Bh=5adda61f62b77384718b4c0d8336ade8f2b4b35c | broken link |
https://security.netapp.com/advisory/ntap-20210827-0005/ | third party advisory |
https://security.gentoo.org/glsa/202208-24 | third party advisory vendor advisory |
https://lists.debian.org/debian-lts-announce/2022/10/msg00021.html | mailing list third party advisory |