mofh Vulnerable to Improper Restriction of XML External Entity Reference
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub.
Summary
The `xml.etree.ElementTree` module that mofh used up until version `1.0.1` implements a simple and efficient API for parsing and creating XML data. But it makes the application vulnerable to: - [Billion Laughs attack](https://en.wikipedia.org/wiki/Billion_laughs_attack): It is a type of denial-of-service attack aimed at XML parsers. It uses multiple levels of nested entities. If one large entity is repeated with a couple of thousand chars repeatedly, the parser gets overwhelmed. - [Quadratic blowup attack](https://www.acunetix.com/vulnerabilities/web/xml-quadratic-blowup-denial-of-service-attack/): It is similar to a Billion Laughs attack. It abuses entity expansion, too. Instead of nested entities, it repeats one large entity with a couple of thousand chars repeatedly. The Problem has been patched starting from version `1.0.1` by utilising the `defusedxml` package instead of `xml.etree.ElementTree`. ### Workarounds For this vulnerability to be exploited the user must be using a custom API URL, which has to be manually given using the `api_url` argument, or MyOwnFreeHost's API must be hacked. So, if the user did not use a custom API URL they _should_ be fine, however, upgrading is still advised. Another workaround could be to call `defusedxml.defuse_stdlib()` before making any requests using the client.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | mofh (PyPI) | before 1.0.1 | 1.0.1 | Patch available | GHSA-7r9x-qrpr-3cxw |
- mofh (PyPI) Vendor— Affected before 1.0.1 Fixed in 1.0.1 Patch available GHSA-7r9x-qrpr-3cxw
Remediation
- Fix · GHSA-7r9x-qrpr-3cxw mofh (PyPI) Fixed in 1.0.1 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-7r9x-qrpr-3cxw
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences