gh-146211: Reject CR/LF in HTTP tunnel request headers#146212
gh-146211: Reject CR/LF in HTTP tunnel request headers#146212sethmlarson merged 6 commits intopython:mainfrom
Conversation
|
(Android failure looks unrelated? https://github.com/python/cpython/actions/runs/23347514549/job/67916875598?pr=146212) |
illia-v
left a comment
There was a problem hiding this comment.
LGTM 👍🏻
I left one minor suggestion about the _tunnel_host error message
Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
|
I'm going to move forward with a merge, as I'm not sure there are folks who have looked at |
|
Thanks @sethmlarson for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14. |
|
Thanks @sethmlarson for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11. |
|
Thanks @sethmlarson for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12. |
|
Thanks @sethmlarson for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10. |
|
Thanks @sethmlarson for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13. |
|
Sorry, @sethmlarson, I could not cleanly backport this to |
|
GH-148341 is a backport of this pull request to the 3.12 branch. |
|
GH-148342 is a backport of this pull request to the 3.14 branch. |
|
Sorry, @sethmlarson, I could not cleanly backport this to |
|
GH-148343 is a backport of this pull request to the 3.13 branch. |
…ythonGH-146212) (cherry picked from commit 05ed7ce) Co-authored-by: Seth Larson <seth@python.org> Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
|
GH-148350 is a backport of this pull request to the 3.10 branch. |
…ythonGH-146212) (cherry picked from commit 05ed7ce) Co-authored-by: Seth Larson <seth@python.org> Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
|
GH-148351 is a backport of this pull request to the 3.11 branch. |
Add a -flto=full option, which can speed up the port build in terms of wallclock time at the expense of overall more CPU time. Issue a warning that test_ssl will fail from pre-test if DEBUG is enabled. Changelog: https://docs.python.org/release/3.14.4/whatsnew/changelog.html Which contains these security fixes: pyexpat.c: Unbounded C recursion in conv_content_model causes crash Security: python/cpython#145986 which is the same as Security: CVE-2026-4224 Reject control characters in more places in http.cookies.Morsel Security: python/cpython#145599 which is the same as Security: CVE-2026-3644 SourcelessFileLoader does not use io.open_code() Security: python/cpython#145506 which is the same as Security: CVE-2026-2297 [security] Disallow usage of control characters in status, headers and values for security in Lib/wsgiref/handlers.py Security: python/cpython#144370 Reject leading dashes in webbrowser.open() Security: python/cpython#143930 which is the same as Security: 9fdad262-2e0f-11f1-88c7-00a098b42aeb which is the same as Security: CVE-2026-4519 Excess Base64 data ignored after padding by default Security: python/cpython#145264 which is the same as Security: CVE-2026-3446 Added into PORTREVISION=1: 2 cherry-picks post-3.14.4 HTTP proxy via "CONNECT" tunneling doesn't sanitize CR/LF Obtained from: python/cpython#148342 Security: python/cpython#146212 Security: CVE-2026-1502 configparser.RawConfigParser.{OPTCRE,OPTCRE_NV} regexes vulnerable to quadratic backtracking Obtained from: python/cpython#148287 Security: python/cpython#146333 lang/python314: add FULLLTO and warning
Add a -flto=full option, which can speed up the port build in terms of wallclock time at the expense of overall more CPU time. Issue a warning that test_ssl will fail from pre-test if DEBUG is enabled. Changelog: https://docs.python.org/release/3.14.4/whatsnew/changelog.html Which contains these security fixes: pyexpat.c: Unbounded C recursion in conv_content_model causes crash Security: python/cpython#145986 which is the same as Security: CVE-2026-4224 Reject control characters in more places in http.cookies.Morsel Security: python/cpython#145599 which is the same as Security: CVE-2026-3644 SourcelessFileLoader does not use io.open_code() Security: python/cpython#145506 which is the same as Security: CVE-2026-2297 [security] Disallow usage of control characters in status, headers and values for security in Lib/wsgiref/handlers.py Security: python/cpython#144370 Reject leading dashes in webbrowser.open() Security: python/cpython#143930 which is the same as Security: 9fdad262-2e0f-11f1-88c7-00a098b42aeb which is the same as Security: CVE-2026-4519 Excess Base64 data ignored after padding by default Security: python/cpython#145264 which is the same as Security: CVE-2026-3446 Added into PORTREVISION=1: 2 cherry-picks post-3.14.4 HTTP proxy via "CONNECT" tunneling doesn't sanitize CR/LF Obtained from: python/cpython#148342 Security: python/cpython#146212 Security: CVE-2026-1502 configparser.RawConfigParser.{OPTCRE,OPTCRE_NV} regexes vulnerable to quadratic backtracking Obtained from: python/cpython#148287 Security: python/cpython#146333 lang/python314: add FULLLTO and warning (cherry picked from commit b526f87)
Uh oh!
There was an error while loading. Please reload this page.