---
id: CVE-2020-29128
aliases:
  - GHSA-f5gc-p5m3-v347
  - GHSA-69q2-p9xp-739v
  - PYSEC-2020-75
title: XXE in petl
summary: XXE in petl
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: petl
product: petl
ecosystem: pip
affected:
  - petl < 1.6.8
patched:
  - petl 1.6.8
published: '2020-12-02'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:49:00.212553421Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-f5gc-p5m3-v347'
references:
  - url: >-
      https://github.com/petl-developers/petl/security/advisories/GHSA-f5gc-p5m3-v347
  - url: 'https://github.com/petl-developers/petl/issues/526'
  - url: 'https://github.com/petl-developers/petl/pull/527'
  - url: >-
      https://github.com/petl-developers/petl/commit/07420ef8463cc387aea84e2d6241cf556574e2a5
  - url: 'https://github.com/nvn1729/advisories/blob/master/cve-2020-29128.md'
  - url: 'https://github.com/petl-developers/petl'
  - url: 'https://github.com/petl-developers/petl/compare/v1.6.7...v1.6.8'
  - url: 'https://github.com/petl-developers/petl/releases/tag/v1.6.8'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/petl/PYSEC-2020-75.yaml
  - url: >-
      https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing
  - url: 'https://petl.readthedocs.io/en/stable/changes.html'
tags:
  - osv
  - pip
epss: 0.02323
epssPercentile: 0.82741
ingestedAt: '2026-09-12T03:13:01.690Z'
---

## Overview

### Impact
Information Disclosure

### Summary

[petl](https://github.com/petl-developers/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](https://github.com/petl-developers/petl)
- Assure your application is not using the function [fromxml()](https://petl.readthedocs.io/en/stable/io.html#petl.io.xml.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](https://github.com/petl-developers/petl/pull/527)

Thaks to Naveen Sunkavally.

## Affected packages

- `petl < 1.6.8`

## Remediation

Upgrade to a patched release:

- `petl 1.6.8`
