Every CVE Search/ Get API key

CVE-2018-8013

Deserialization of Untrusted Data in Apache Batik

9.8 CriticalFix available

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

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

18.6%Up 8.8 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 9.8

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
CVE-2018-8013
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-502
Updated
2026-11-02
CVE List No score

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
CVE-2018-8013
Updated
2026-11-02
EUVDEUVD-2022-1909 No score

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
EUVD-2022-1909
Updated
2026-11-03
GitHub AdvisoriesGHSA-25gw-4pcc-45cf 9.8

Deserialization of Untrusted Data in Apache Batik

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
GHSA-25gw-4pcc-45cf
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-502
Updated
2026-11-02
OSV 9.8

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
CVE-2018-8013
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2018-8013 9.8

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
DEBIAN-CVE-2018-8013
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 4 moreShow less
OSVGHSA-25gw-4pcc-45cf 9.8

Deserialization of Untrusted Data in Apache Batik

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
GHSA-25gw-4pcc-45cf
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-502
Updated
2026-11-02
OSVUBUNTU-CVE-2018-8013 9.8

In Apache Batik 1.x before 1.10, when deserializing subclass of AbstractDocument, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.

Record
UBUNTU-CVE-2018-8013
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVCLSA-2026-1778633124 No score

TuxCare security update for org.apache.xmlgraphics (10 CVEs)

TuxCare rebuilt 27 org.apache.xmlgraphics packages to address 10 CVEs. Fixed in 1.7-tuxcare.1.

Record
CLSA-2026-1778633124
Updated
2026-11-02
OSVUSN-3661-1 No score

batik vulnerability

It was discovered that Batik incorrectly handled certain XML. An attacker could possibly use this to expose sensitive information.

Record
USN-3661-1
Updated
2026-11-02

Affected products

Show 10 moreShow less

Affected packages

Affected packages
PackageAffectedFixed
org.apache.xmlgraphics:batik
Maven
1.0 to 1.9.1
1.10
org.apache.xmlgraphics:batik-anim
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-awt-util
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-bridge
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-codec
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-css
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-dom
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-ext
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-extension
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-extensions
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
Show 27 moreShow less
Affected packages
PackageAffectedFixed
org.apache.xmlgraphics:batik-gui-util
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-gvt
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-js
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-parser
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-rasterizer
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-rasterizer-ext
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-script
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-slideshow
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-squiggle
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-squiggle-ext
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-svg-dom
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-svggen
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-svgpp
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-swing
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-transcoder
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-ttf2svg
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-util
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
org.apache.xmlgraphics:batik-xml
TuxCare:Maven
From an advisory covering 10 CVEs
1.7 up to 1.7-tuxcare.1
1.7-tuxcare.1
batik
Debian:12
before 1.10-1
1.10-1
batik
Debian:13
before 1.10-1
1.10-1
batik
Debian:14
before 1.10-1
1.10-1
batik
Debian:7
before 1.7+dfsg-3+deb7u3, plus listed versions
1.7+dfsg-31.7+dfsg-3+deb7u11.7+dfsg-3+deb7u2
1.7+dfsg-3+deb7u3
batik
Debian:8
From an advisory covering 2 CVEs
before 1.7+dfsg-5+deb8u1, plus listed versions
1.7+dfsg-5
1.7+dfsg-5+deb8u1
batik
Debian:9
From an advisory covering 2 CVEs
before 1.8-4+deb9u1, plus listed versions
1.8-4
1.8-4+deb9u1
org.apache.xmlgraphics:batik
Maven
1.0 up to 1.10, plus listed versions
1.9.1
1.10
batik
Ubuntu:14.04:LTS
before 1.7.ubuntu-8ubuntu2.14.04.3, plus listed versions
1.7.ubuntu-8ubuntu21.7.ubuntu-8ubuntu2.14.04.11.7.ubuntu-8ubuntu2.14.04.2
1.7.ubuntu-8ubuntu2.14.04.3
batik
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
1.7.ubuntu-8ubuntu31.8-31.8-3ubuntu11.8-3ubuntu1+esm1
None known

History

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

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

In short

CVE-2018-8013 is a critical vulnerability (CVSS 9.8) in Apache Batik, published May 23, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 18.6%, the 97th percentile. Fixed in org.apache.xmlgraphics:batik 1.10.

References

Show 22 moreShow less
MoveEnter Open