Every CVE Search/ Get API key

CVE-2012-3406

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and...

6.8 MediumFix available

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Exploit likelihood

3.16%Up 0.5 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 6.8

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Record
CVE-2012-3406
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-264
Updated
2026-11-02
CVE List No score

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Record
CVE-2012-3406
Updated
2026-11-02
EUVDEUVD-2012-3377 No score

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Record
EUVD-2012-3377
Updated
2026-11-03
GitHub AdvisoriesGHSA-8mj9-m673-h2gf No score

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and...

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Record
GHSA-8mj9-m673-h2gf
Updated
2026-11-02
OSV No score

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Record
CVE-2012-3406
Updated
2026-11-02
OSVDEBIAN-CVE-2012-3406 No score

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context-dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers, a different vulnerability than CVE-2012-3404 and CVE-2012-3405.

Record
DEBIAN-CVE-2012-3406
Updated
2026-11-02
OSVMGASA-2015-0013 No score

Updated glibc packages fix security vulnerabilities

The vfprintf function in stdio-common/vfprintf.c in GNU C Library (aka glibc) 2.5, 2.12, and probably other versions does not "properly restrict the use of" the alloca function when allocating the SPECS array, which allows context- dependent attackers to bypass the FORTIFY_SOURCE format-string protection mechanism and cause a denial of service (crash) or possibly execute arbitrary code via a crafted format string using positional parameters and a large number of format specifiers (CVE-2012-3406).

The nss_dns implementation of getnetbyname could run into an infinite loop if the DNS response contained a PTR record of an unexpected format (CVE-2014-9402).

Also glibc lock elision (new feature in glibc 2.18) has been disabled as it can break glibc at runtime on newer Intel hardware (due to hardware bug)

Record
MGASA-2015-0013
Updated
2026-11-02
OSVopenSUSE-SU-2024:10154-1 No score

glibc-2.24-2.3 on GA media

These are all security issues fixed in the glibc-2.24-2.3 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10154-1
Updated
2026-11-02
OSVSUSE-SU-2015:0551-1 No score

Security update for glibc

This update for glibc contains the following fixes:

* Fix integer overflows in malloc (CVE-2013-4332, bnc#839870)
* Fix buffer overflow in glob (bnc#691365)
* Fix buffer overflow in strcoll (CVE-2012-4412, bnc#779320)
* Update mount flags in <sys/mount.h> (bnc#791928)
* Fix buffer overrun in regexp matcher (CVE-2013-0242, bnc#801246)
* Fix memory leaks in dlopen (bnc#811979)
* Fix stack overflow in getaddrinfo with many results (CVE-2013-1914,
  bnc#813121)
* Fix check for XEN build in glibc_post_upgrade that causes missing
  init re-exec (bnc#818628)
* Don't raise UNDERFLOW in tan/tanf for small but normal argument
  (bnc#819347)
* Properly cross page boundary in SSE4.2 implementation of strcmp
  (bnc#822210)
* Fix robust mutex handling after fork (bnc#827811)
* Fix missing character in IBM-943 charset (bnc#828235)
* Fix use of alloca in gaih_inet (bnc#828637)
* Initialize pointer guard also in static executables (CVE-2013-4788,
  bnc#830268)
* Fix readdir_r with long file names (CVE-2013-4237, bnc#834594).

Security Issues:

* CVE-2012-4412
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4412>
* CVE-2013-0242
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0242>
* CVE-2013-1914
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1914>
* CVE-2013-4237
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4237>
* CVE-2013-4332
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4332>
* CVE-2013-4788
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4788>
Record
SUSE-SU-2015:0551-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
glibc
Debian:12
before 2.19-14
2.19-14
glibc
Debian:13
before 2.19-14
2.19-14
glibc
Debian:14
before 2.19-14
2.19-14
eglibc
Debian:6.0
before 2.11.3-4+deb6u5, plus listed versions
2.11.2-102.11.2-10+m68k.12.11.2-112.11.2-11+m68k.12.11.2-12
Show 5 moreShow less
2.11.2-132.11.3-12.11.3-22.11.3-32.11.3-4
2.11.3-4+deb6u5
eglibc
Debian:7
before 2.13-38+deb7u8, plus listed versions
2.13-382.13-38+deb7u12.13-38+deb7u22.13-38+deb7u32.13-38+deb7u42.13-38+deb7u52.13-38+deb7u62.13-38+deb7u7
2.13-38+deb7u8
glibc
Mageia:4
before 2.18-9.8.mga4
2.18-9.8.mga4
glibc
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-common
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-debuginfo
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-debuginfo-common
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
Show 50 moreShow less
Affected packages
PackageAffectedFixed
glibc-devel
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-headers
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-utils
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
nscd
Red Hat:enterprise_linux:5::client
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-common
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-debuginfo
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-debuginfo-common
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-devel
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-headers
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc-utils
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
nscd
Red Hat:enterprise_linux:5::server
before 0:2.5-81.el5_8.4
0:2.5-81.el5_8.4
glibc
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-common
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo-common
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-devel
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-headers
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-utils
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
nscd
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-static
Red Hat:enterprise_linux:6::client
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-common
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo-common
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-devel
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-headers
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-utils
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
nscd
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-static
Red Hat:enterprise_linux:6::computenode
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-common
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo-common
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-devel
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-headers
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-utils
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
nscd
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-static
Red Hat:enterprise_linux:6::server
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-common
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-debuginfo-common
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-devel
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-headers
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-utils
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
nscd
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
glibc-static
Red Hat:enterprise_linux:6::workstation
before 0:2.12-1.80.el6_3.3
0:2.12-1.80.el6_3.3
rhev-hypervisor6
Red Hat:enterprise_linux:6::hypervisor
before 0:6.3-20120815.0.el6_3
0:6.3-20120815.0.el6_3
glibc
openSUSE:Tumbleweed
before 2.24-2.3
2.24-2.3

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2012-3406 is a medium vulnerability (CVSS 6.8) in Gnu Glibc, published September 13, 2013. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.16%, the 88th percentile. Fixed in glibc 2.19-14.

References

Show 117 moreShow less
MoveEnter Open