CVE-2020-29128
Duplicate Advisory: XML Injection in petl
petl before 1.68, in some configurations, allows resolution of entities 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
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
CVE-2020-29128- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-91
- Updated
- 2026-11-02
CVE List No score
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
CVE-2020-29128- Updated
- 2026-11-02
EUVDEUVD-2020-0127 No score
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
EUVD-2020-0127- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-69q2-p9xp-739v
9.8
Duplicate Advisory: XML Injection in petl
Duplicate Advisory
This advisoerey has been withdrawn because it is a duplicate of GHSA-f5gc-p5m3-v347. This link is maintained to preserve external references.
Original Description
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
GHSA-69q2-p9xp-739v- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-91
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f5gc-p5m3-v347
8.9
XXE in petl
Impact
Information Disclosure
Summary
petl is a Python library that provides functions for extraction, transformation, and loading (ETL) of data.
petl before 1.68, in some configurations, allows resolution of entities in XML input.
An attacker who is able to submit XML input to an application using petl can disclose arbitrary files on the file system in the context of the user under which the application is running.
Affected Applications
Applications that:
- accept attacker-supplied XML input that is processed using petl < 1.68
- return the response generated by petl back to the attacker
- configure lxml as the underlying XML processing library used by petl
- have read privileges in filesystem files with sensitive information
Mitigation
Update to petl >= 1.68
Workarounds
- Assure there is no user/external access to the application using petl
- Assure your application is not using the function fromxml()
References
- https://github.com/nvn1729/advisories/blob/master/cve-2020-29128.md
- https://github.com/petl-developers/petl/pull/527
- https://github.com/petl-developers/petl/releases/tag/v1.6.8
- https://petl.readthedocs.io/en/stable/changes.html
- https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing
For more information
If you have any questions or comments about this advisory:
- Add a comment in the Github issue
Thaks to Naveen Sunkavally.
- Record
GHSA-f5gc-p5m3-v347- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-611
- Updated
- 2026-11-02
OSV
9.8
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
CVE-2020-29128- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-69q2-p9xp-739v
9.8
Duplicate Advisory: XML Injection in petl
Duplicate Advisory
This advisoerey has been withdrawn because it is a duplicate of GHSA-f5gc-p5m3-v347. This link is maintained to preserve external references.
Original Description
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
GHSA-69q2-p9xp-739v- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-91
- Updated
- 2026-11-02
OSVGHSA-f5gc-p5m3-v347
8.9
XXE in petl
Impact
Information Disclosure
Summary
petl is a Python library that provides functions for extraction, transformation, and loading (ETL) of data.
petl before 1.68, in some configurations, allows resolution of entities in XML input.
An attacker who is able to submit XML input to an application using petl can disclose arbitrary files on the file system in the context of the user under which the application is running.
Affected Applications
Applications that:
- accept attacker-supplied XML input that is processed using petl < 1.68
- return the response generated by petl back to the attacker
- configure lxml as the underlying XML processing library used by petl
- have read privileges in filesystem files with sensitive information
Mitigation
Update to petl >= 1.68
Workarounds
- Assure there is no user/external access to the application using petl
- Assure your application is not using the function fromxml()
References
- https://github.com/nvn1729/advisories/blob/master/cve-2020-29128.md
- https://github.com/petl-developers/petl/pull/527
- https://github.com/petl-developers/petl/releases/tag/v1.6.8
- https://petl.readthedocs.io/en/stable/changes.html
- https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing
For more information
If you have any questions or comments about this advisory:
- Add a comment in the Github issue
Thaks to Naveen Sunkavally.
- Record
GHSA-f5gc-p5m3-v347- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-611
- Updated
- 2026-11-02
OSVPYSEC-2020-75 No score
petl before 1.68, in some configurations, allows resolution of entities in an XML document.
- Record
PYSEC-2020-75- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
petlPyPI |
before 1.6.8 | 1.6.8 |
petlPyPI |
before 1.6.8, plus listed versions 0.100.10.10.10.20.110.11.1 Show 45 moreShow less0.120.130.13.10.140.150.160.16.10.16.20.170.17.10.180.18.10.190.20.200.210.21.20.220.22.10.230.240.24.10.24.20.24.30.250.25.10.25.20.25.30.260.30.40.50.60.70.80.91.0.01.0.0-alpha11.0.0a21.0.0a31.0.0b11.0.0b21.0.11.0.101.0.11 |
1.6.8 |
petlPyPI |
before 1.6.8, plus listed versions 0.20.30.40.50.6 Show 45 moreShow less0.70.80.90.100.10.10.10.20.110.11.10.120.130.13.10.140.150.160.16.10.16.20.170.17.10.180.18.10.190.200.210.21.20.220.22.10.230.240.24.10.24.20.24.30.250.25.10.25.20.25.30.261.0.0-alpha11.0.0a21.0.0a31.0.0b11.0.0b21.0.01.0.11.0.21.0.3 |
1.6.8 |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | ||
| affected | ||
| 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-2020-29128 is a critical vulnerability (CVSS 9.8) in Petl Project Petl, published November 26, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.32%, the 83rd percentile. Fixed in petl 1.6.8.
References
github.com/petl-developers/petl/pull/527
petl.readthedocs.io/en/stable/changes.html
github.com/petl-developers/petl/issues/526
github.com/petl-developers/petl/compare/v1.6.7...v1.6.8
github.com/petl-developers/petl/pull/527/commits/1b0a09f08c3cdfe2e69647bd02f97c1367a5b5f8
github.com/petl-developers/petl/security/advisories/GHSA-f5gc-p5m3-v347
Show 9 moreShow less
github.com/nvn1729/advisories/blob/master/cve-2020-29128.md
nvd.nist.gov/vuln/detail/CVE-2020-29128
github.com/petl-developers/petl/commit/07420ef8463cc387aea84e2d6241cf556574e2a5
github.com/pypa/advisory-database/tree/main/vulns/petl/PYSEC-2020-75.yaml
owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing
github.com/advisories/GHSA-69q2-p9xp-739v
github.com/petl-developers/petl/releases/tag/v1.6.8
github.com/advisories/GHSA-f5gc-p5m3-v347
github.com/petl-developers/petl
Left out here: 46 versions. The JSON record has them.