-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
bpo-44394: Update libexpat copy to 2.4.1 #26945
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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
@@ -63,19 +63,21 @@ the various modules are vulnerable to them. | |||
========================= ============== =============== ============== ============== ============== | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm against marking it safe until Python no longer supports libexpat <= 2.4.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a fair point. Any ideas how to best communicate it in this table?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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