---
id: CVE-2020-29573
title: >-
  sysdeps/i386/ldbl2mpn.c in the GNU C Library (aka glibc or libc6) before 2.23
  on x86 targets has a stack-based buffer overflow if the input to any of the
  printf family of functions is an 80-bit long double with a non-canonical bit
  patter…
summary: >-
  sysdeps/i386/ldbl2mpn.c in the GNU C Library (aka glibc or libc6) before 2.23
  on x86 targets has a stack-based buffer overflow if the input to any of the
  printf family of functions is an 80-bit long double with a non-canonical bit
  patter…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-787
vendor: gnu
product: glibc
affected:
  - glibc < 2.23
  - enterprise_linux = 7.0
  - cloud_backup
  - solidfire_baseboard_management_controller
patched:
  - glibc 2.23
published: '2020-12-06'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T10:17:35.217'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2020-29573'
references:
  - url: 'https://security.gentoo.org/glsa/202101-20'
    label: cve@mitre.org
  - url: 'https://security.netapp.com/advisory/ntap-20210122-0004/'
    label: cve@mitre.org
  - url: 'https://sourceware.org/bugzilla/show_bug.cgi?id=26649'
    label: cve@mitre.org
  - url: 'https://sourceware.org/pipermail/libc-alpha/2020-September/117779.html'
    label: cve@mitre.org
  - url: 'https://security.gentoo.org/glsa/202101-20'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20210122-0004/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://sourceware.org/bugzilla/show_bug.cgi?id=26649'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://sourceware.org/pipermail/libc-alpha/2020-September/117779.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-398330.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
epss: 0.02723
epssPercentile: 0.85689
ingestedAt: '2026-10-14T10:25:41.181Z'
---

## Overview

sysdeps/i386/ldbl2mpn.c in the GNU C Library (aka glibc or libc6) before 2.23 on x86 targets has a stack-based buffer overflow if the input to any of the printf family of functions is an 80-bit long double with a non-canonical bit pattern, as seen when passing a \x00\x04\x00\x00\x00\x00\x00\x00\x00\x04 value to sprintf. NOTE: the issue does not affect glibc by default in 2016 or later (i.e., 2.23 or later) because of commits made in 2015 for inlining of C99 math functions through use of GCC built-ins. In other words, the reference to 2.23 is intentional despite the mention of "Fixed for glibc 2.33" in the 26649 reference.

## Affected

- `glibc < 2.23`
- `enterprise_linux = 7.0`
- `cloud_backup`
- `solidfire_baseboard_management_controller`

## Remediation

Upgrade past the affected range:

- `glibc 2.23`
