Skip to content

Commit b612ec6

Browse files
[3.10] gh-115399: Document CVE-2023-52425 under "XML vulnerabilities" (GH-115400) (GH-115762)
Doc/library/xml.rst: Document CVE-2023-52425 under "XML vulnerabilities" (cherry picked from commit fbd40ce) Co-authored-by: Sebastian Pipping <[email protected]>
1 parent 37324b4 commit b612ec6

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

Doc/library/xml.rst

+13
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ quadratic blowup **Vulnerable** (1) **Vulnerable** (1) **Vulnerable*
6868
external entity expansion Safe (5) Safe (2) Safe (3) Safe (5) Safe (4)
6969
`DTD`_ retrieval Safe (5) Safe Safe Safe (5) Safe
7070
decompression bomb Safe Safe Safe Safe **Vulnerable**
71+
large tokens **Vulnerable** (6) **Vulnerable** (6) **Vulnerable** (6) **Vulnerable** (6) **Vulnerable** (6)
7172
========================= ================== ================== ================== ================== ==================
7273

7374
1. Expat 2.4.1 and newer is not vulnerable to the "billion laughs" and
@@ -81,6 +82,11 @@ decompression bomb Safe Safe Safe
8182
4. :mod:`xmlrpclib` doesn't expand external entities and omits them.
8283
5. Since Python 3.7.1, external general entities are no longer processed by
8384
default.
85+
6. Expat 2.6.0 and newer is not vulnerable to denial of service
86+
through quadratic runtime caused by parsing large tokens.
87+
Items still listed as vulnerable due to
88+
potential reliance on system-provided libraries. Check
89+
:const:`!pyexpat.EXPAT_VERSION`.
8490

8591

8692
billion laughs / exponential entity expansion
@@ -114,6 +120,13 @@ decompression bomb
114120
files. For an attacker it can reduce the amount of transmitted data by three
115121
magnitudes or more.
116122

123+
large tokens
124+
Expat needs to re-parse unfinished tokens; without the protection
125+
introduced in Expat 2.6.0, this can lead to quadratic runtime that can
126+
be used to cause denial of service in the application parsing XML.
127+
The issue is known as
128+
`CVE-2023-52425 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-52425>`_.
129+
117130
The documentation for `defusedxml`_ on PyPI has further information about
118131
all known attack vectors with examples and references.
119132

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Document CVE-2023-52425 of Expat <2.6.0 under "XML vulnerabilities".

0 commit comments

Comments
 (0)