CVE-2016-2099
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and...
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
CVE-2016-2099- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 10.0 High
AV:N/AC:L/Au:N/C:C/I:C/A:C - Updated
- 2026-11-02
CVE List No score
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
CVE-2016-2099- Updated
- 2026-11-02
EUVDEUVD-2016-3202 No score
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
EUVD-2016-3202- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-pgr8-2267-r79x
9.8
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and...
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
GHSA-pgr8-2267-r79x- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
9.8
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
CVE-2016-2099- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2016-2099
9.8
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
DEBIAN-CVE-2016-2099- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2016-2099
9.8
Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ 3.1.3 and earlier allows context-dependent attackers to have unspecified impact via an invalid character in an XML document.
- Record
UBUNTU-CVE-2016-2099- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2016-0189 No score
Updated xerces-c packages fix security vulnerability
Gustavo Grieco discovered an use-after-free vulnerability in xerces-c, due to not properly handling invalid characters in XML input documents in the DTDScanner (CVE-2016-2099).
- Record
MGASA-2016-0189- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10039-1 No score
libxerces-c-3_1-3.1.4-1.3 on GA media
These are all security issues fixed in the libxerces-c-3_1-3.1.4-1.3 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10039-1- Updated
- 2026-11-02
OSVSUSE-SU-2016:2154-1 No score
Security update for xerces-c
xerces-c was updated to fix one security issue.
This security issue was fixed:
- CVE-2016-2099: Use-after-free vulnerability in validators/DTD/DTDScanner.cpp in Apache Xerces C++ did not properly handle exceptions raised in the XMLReader class, which allowed context-dependent attackers to have unspecified impact via an invalid character in an XML document (bsc#979208).
- CVE-2016-4463: Apache Xerces-C XML Parser crashed on malformed DTD (bnc#985860).
- Record
SUSE-SU-2016:2154-1- Updated
- 2026-11-02
OSVUSN-4784-1 No score
xerces-c vulnerabilities
It was discovered that Xerces-C++ XML Parser mishandles certain kinds of external DTD references, resulting in a user-after-free. An attacker could use this vulnerability to cause a denial of service (crash) or possibly execute arbitrary code. This issue affected only Ubuntu 16.04 ESM. (CVE-2016-2099)
It was discovered that Xerces-C++ XML Parser fails to successfully parse a DTD that is too deeply nested. An unauthenticated attacker could use this vulnerability to cause a denial of service. This issue affected only Ubuntu 16.04 ESM. (CVE-2016-4463)
It was discovered that Xerces-C++ mishandles certain kinds of external DTD references, resulting in dereference of a NULL pointer. An attacker could use this vulnerability to cause a denial of service. (CVE-2017-12627)
- Record
USN-4784-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
xerces-cDebian:12 |
before 3.1.3+debian-2 | 3.1.3+debian-2 |
xerces-cDebian:13 |
before 3.1.3+debian-2 | 3.1.3+debian-2 |
xerces-cDebian:14 |
before 3.1.3+debian-2 | 3.1.3+debian-2 |
xerces-cDebian:7 |
before 3.1.1-3+deb7u3, plus listed versions 3.1.1-33.1.1-3+deb7u13.1.1-3+deb7u2 |
3.1.1-3+deb7u3 |
xerces-cDebian:8 |
before 3.1.1-5.1+deb8u2, plus listed versions 3.1.1-5.13.1.1-5.1+deb8u1 |
3.1.1-5.1+deb8u2 |
xerces-cMageia:5 |
before 3.1.2-1.2.mga5 | 3.1.2-1.2.mga5 |
xerces-cSUSE:Linux Enterprise Desktop 12 SP1 |
before 3.1.1-12.3 | 3.1.1-12.3 |
xerces-cSUSE:Linux Enterprise Software Development Kit 12 SP1 |
before 3.1.1-12.3 | 3.1.1-12.3 |
xerces-cSUSE:Linux Enterprise Server 12 SP1 |
before 3.1.1-12.3 | 3.1.1-12.3 |
xerces-cSUSE:Linux Enterprise Server for SAP Applications 12 SP1 |
before 3.1.1-12.3 | 3.1.1-12.3 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
xerces-cUbuntu:14.04:LTS |
before 3.1.1-5.1+deb8u2build0.14.04.1, plus listed versions 3.1.1-33.1.1-3ubuntu13.1.1-43.1.1-53.1.1-5.1~build0.14.04.13.1.1-5.1+deb8u1build0.14.04.1 |
3.1.1-5.1+deb8u2build0.14.04.1 |
xerces-cUbuntu:Pro:16.04:LTS |
before 3.1.3+debian-1ubuntu0.1~esm1, plus listed versions 3.1.1-5.13.1.2+debian-13.1.3+debian-1 |
3.1.3+debian-1ubuntu0.1~esm1 |
xerces-cUbuntu:Pro:18.04:LTS |
before 3.2.0+debian-2ubuntu0.1~esm1, plus listed versions 3.1.4+debian-23.1.4+debian-2build13.2.0+debian-2 |
3.2.0+debian-2ubuntu0.1~esm1 |
xerces-copenSUSE:Tumbleweed |
before 3.1.4-1.3 | 3.1.4-1.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2016-2099 is a critical vulnerability (CVSS 9.8) in Apache Xerces-c\+\+, published May 12, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 6.63%, the 93rd percentile. Fixed in xerces-c 3.1.3+debian-2.
References
debian.org/security/2016/dsa-3579
oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
issues.apache.org/jira/browse/XERCESC-2066
securityfocus.com/bid/90502
security.gentoo.org/glsa/201612-46
lists.opensuse.org/opensuse-updates/2016-07/msg00016.html
Show 20 moreShow less
lists.opensuse.org/opensuse-updates/2016-09/msg00013.html
openwall.com/lists/oss-security/2016/05/09/7
lists.opensuse.org/opensuse-updates/2016-07/msg00053.html
nvd.nist.gov/vuln/detail/CVE-2016-2099
github.com/advisories/GHSA-pgr8-2267-r79x
security-tracker.debian.org/tracker/CVE-2016-2099
advisories.mageia.org/MGASA-2016-0189.html
bugs.mageia.org/show_bug.cgi?id=18421
suse.com/support/update/announcement/2016/suse-su-20162154-1
bugzilla.suse.com/979208
bugzilla.suse.com/985860
suse.com/security/cve/CVE-2016-2099
suse.com/security/cve/CVE-2016-4463
ubuntu.com/security/CVE-2016-2099
cve.org/CVERecord?id=CVE-2016-2099
ubuntu.com/security/notices/USN-4784-1
ubuntu.com/security/CVE-2016-4463
ubuntu.com/security/CVE-2017-12627
suse.com/security/cve/CVE-2009-1885
suse.com/security/cve/CVE-2016-0729