CVE-2023-25139
glibc: incorrect printf output for integers with thousands separator and width field
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by Red Hat (medium), Ubuntu (medium).
Description
sprintf in the GNU C Library (glibc) 2.37 has a buffer overflow (out-of-bounds write) in some situations with a correct buffer size. This is unrelated to CWE-676. It may write beyond the bounds of the destination buffer when attempting to write a padded, thousands-separated string representation of a number, if the buffer is allocated the exact size required to represent that number as a string. For example, 1,234,567 (with padding to 13) overflows by two bytes.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| alpine 3.19 | mpfr4 | 4.2.1-r0 |
| alpine 3.20 | mpfr4 | 4.2.1-r0 |
| alpine 3.21 | mpfr4 | 4.2.1-r0 |
| alpine 3.22 | mpfr4 | 4.2.1-r0 |
| alpine 3.23 | mpfr4 | 4.2.1-r0 |
| alpine 3.24 | mpfr4 | 4.2.1-r0 |
| alpine edge | mpfr4 | 4.2.1-r0 |
| chainguard | glibc | 2.37-r1 |
| ubuntu 23.04 | glibc | 2.37-0ubuntu2 |
| wolfi | glibc | 2.37-r1 |
References
- http://www.openwall.com/lists/oss-security/2023/02/10/1
- https://access.redhat.com/security/cve/CVE-2023-25139
- https://cert-portal.siemens.com/productcert/html/ssa-398330.html
- https://nvd.nist.gov/vuln/detail/CVE-2023-25139
- https://security.netapp.com/advisory/ntap-20230302-0010/
- https://sourceware.org/bugzilla/show_bug.cgi?id=30068
- https://www.cve.org/CVERecord?id=CVE-2023-25139