CVE-2016-5000: Improper Restriction of XML External Entity Reference in Apache POI

org.apache.poi:poi-examples Updated 02 Oct 2025

Summary

13/05/2022
Yes i
Moderate
5.5

CVE-2016-5000: Apache POI's XLSX2CSV Example XML External Entity (XXE) Vulnerability. Affects org.apache.poi:poi-examples versions < 3.14. Fixed in 3.14. How to fix ↓

Also tracked for

The same CVE-2016-5000 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Apache POI is a popular Java library used for reading and writing Microsoft Office file formats, including Excel spreadsheets. It provides APIs to manipulate and extract data from these files. However, prior to version 3.14, Apache POI was vulnerable to an XML External Entity (XXE) issue in the XLSX2CSV example. This vulnerability allowed remote attackers to read arbitrary files by exploiting a crafted OpenXML document containing an external entity declaration in conjunction with an entity reference.

Vulnerability Detail

The vulnerability in Apache POI arises from improper restriction of XML external entity references. By leveraging this vulnerability, an attacker can manipulate the XML parsing process and read arbitrary files on the system. This can lead to unauthorized access to sensitive information, such as configuration files, credentials, or other confidential data. The vulnerability has a CVSS score of 5.5, indicating a moderate severity level.

How To Fix

Latest published version: 6.0.0 as of 23 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

3.14

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading to the latest version of Apache POI is not feasible, a possible workaround is to disable the XLSX2CSV example or any functionality that relies on it. By removing or disabling the vulnerable code, the risk of exploitation can be mitigated. However, this workaround may impact the functionality of the affected feature.

Conclusion

The vulnerability in Apache POI, identified as CVE-2016-5000, allows remote attackers to read arbitrary files on the system by exploiting XML external entity references. To mitigate this vulnerability, it is recommended to upgrade to Apache POI version 3.14 or later. Alternatively, disabling the XLSX2CSV example or any functionality that relies on it can serve as a temporary workaround. For further assistance or support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for org.apache.poi:poi-examples →

Share this vulnerability

FAQ

Apache POI is a Java library for working with Microsoft Office file formats, such as Excel spreadsheets.

The XLSX2CSV example is a utility provided by Apache POI to convert Excel files in the XLSX format to CSV (Comma-Separated Values) format.

An XML External Entity (XXE) issue is a vulnerability that allows an attacker to read arbitrary files on a system by exploiting the processing of external entities in XML parsing.

This vulnerability can lead to unauthorized access to sensitive information, such as configuration files, credentials, or other confidential data stored in the system.

This vulnerability has a CVSS score of 5.5, indicating a moderate severity level.

How To Fix

Latest published version: 6.0.0 as of 23 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

3.14

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback