bpo-44394: Update libexpat copy to 2.4.1#26945
bpo-44394: Update libexpat copy to 2.4.1#26945ambv merged 2 commits intopython:mainfrom vstinner:expat241
Conversation
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS.
|
cc @tiran: please have a look at the XML vulnerability documentation change. I'm not sure that pyexpat is used by all Python XML parsers. |
|
I used cpython_rebuild_expat_dir.sh script attached to https://bugs.python.org/issue44394 to created this PR, then I manually reverted the following change: I tested this PR with the command: test_pyexpat pass successfully. Manual test to ensure that the Python libexpat is not listed in the library dependencies, so it's ok. |
Doc/library/xml.rst
Outdated
| kind sax etree minidom pulldom xmlrpc | ||
| ========================= ============== =============== ============== ============== ============== | ||
| billion laughs **Vulnerable** **Vulnerable** **Vulnerable** **Vulnerable** **Vulnerable** | ||
| billion laughs Safe (1) Safe (1) Safe (1) Safe (1) Safe (1) |
There was a problem hiding this comment.
I'm against marking it safe until Python no longer supports libexpat <= 2.4.0.
There was a problem hiding this comment.
That's a fair point. Any ideas how to best communicate it in this table?
There was a problem hiding this comment.
Vulnerable or Safe depends on the libexpat version, that's what I wrote in the footnote (1). I explain how how to check manually if your Python is vulnerable or not.
@tiran How do you want to explain that it depends on the libexpat version in this table, if you are unhappy with "Safe (1)"?
There was a problem hiding this comment.
Do **Vulnerable** (1) until all relevant Linux distros have fixed libexpat: all supported CentOS streams, Debian stables, RHELs, Ubuntu LTS, etc.
|
@vstinner the two new API functions and the new error codes do not seem included, yet. Did you see https://bugs.python.org/msg395642 ? |
@vstinner I'm not entirely sure what the idea is with that test but libexpat is listed for me on Linux: |
That's a new feature, it cannot be backported to older Python versions. I'm not interested to write a PR to implement it. This PR is restricted to updated libexpat so it can be backported to all Python versions which still accept security fixes. |
The new API and error codes are part of the security fix. |
|
This PR is stale because it has been open for 30 days with no activity. |
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <[email protected]> (cherry picked from commit 3fc5d84) Co-authored-by: Victor Stinner <[email protected]>
|
GH-28031 is a backport of this pull request to the 3.10 branch. |
|
GH-28032 is a backport of this pull request to the 3.9 branch. |
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <[email protected]> (cherry picked from commit 3fc5d84) Co-authored-by: Victor Stinner <[email protected]>
|
GH-28033 is a backport of this pull request to the 3.8 branch. |
|
Sorry, @vstinner and @ambv, I could not cleanly backport this to |
|
Sorry @vstinner and @ambv, I had trouble checking out the |
|
@ned-deily, this is marked as needing backport to 3.6 and 3.7 as well. Since there's conflicts, please let me know if I should work on that. |
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <[email protected]> (cherry picked from commit 3fc5d84) Co-authored-by: Victor Stinner <[email protected]>
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <[email protected]> (cherry picked from commit 3fc5d84) Co-authored-by: Victor Stinner <[email protected]>
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <[email protected]> (cherry picked from commit 3fc5d84) Co-authored-by: Victor Stinner <[email protected]>
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <[email protected]>. (cherry picked from commit 3fc5d84) Co-authored-by: Victor Stinner <[email protected]>
|
GH-28042 is a backport of this pull request to the 3.7 branch. |
|
Thanks for the update @ambv! I failed to find time to update this PR this summer ;-) |
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Victor Stinner <[email protected]> Co-authored-by: Łukasz Langa <[email protected]>. (cherry picked from commit 3fc5d84)
…onGH-28042) Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Victor Stinner <[email protected]> Co-authored-by: Łukasz Langa <[email protected]>. (cherry picked from commit 3fc5d84)
…H-28080) Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Victor Stinner <[email protected]> Co-authored-by: Łukasz Langa <[email protected]>. (cherry picked from commit 3fc5d84)
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the
fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy
is most used on Windows and macOS.
https://bugs.python.org/issue44394