Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b612ec6

Browse filesBrowse 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 <sebastian@pipping.org>
1 parent 37324b4 commit b612ec6
Copy full SHA for b612ec6

File tree

Expand file treeCollapse file tree

2 files changed

+14
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+14
-0
lines changed

‎Doc/library/xml.rst

Copy file name to clipboardExpand all lines: Doc/library/xml.rst
+13Lines changed: 13 additions & 0 deletions
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

+1Lines changed: 1 addition & 0 deletions
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 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.