Uh oh!
There was an error while loading. Please reload this page.
gh-146211: Reject CR/LF in HTTP tunnel request headers - #146212
Conversation
sethmlarson
commented
Mar 20, 2026
(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
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
sethmlarson
commented
Apr 10, 2026
I'm going to move forward with a merge, as I'm not sure there are folks who have looked at |
Uh oh!
There was an error while loading. Please reload this page.
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)
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 PR: 294324 Which contains these security fixes: pyexpat.c: Unbounded C recursion in conv_content_model causes crash Security: python/cpython#145986 / CVE-2026-4224 Reject control characters in more places in http.cookies.Morsel Security: python/cpython#145599 / CVE-2026-3644 SourcelessFileLoader does not use io.open_code() Security: python/cpython#145506 / CVE-2026-2297 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 / 9fdad262-2e0f-11f1-88c7-00a098b42aeb / CVE-2026-4519 Excess Base64 data ignored after padding by default Security: python/cpython#145264 / CVE-2026-3446 Additional security related PRs from upstream HTTP proxy via "CONNECT" tunneling doesn't sanitize CR/LF Obtained from: python/cpython#148342 Security python/cpython#146212 / CVE-2026-1502 configparser.RawConfigParser.{OPTCRE,OPTCRE_NV} regexes vulnerable to quadratic backtracking Obtained from: python/cpython#148287 Security: python/cpython#146333
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 PR: 294324 Which contains these security fixes: pyexpat.c: Unbounded C recursion in conv_content_model causes crash Security: python/cpython#145986 / CVE-2026-4224 Reject control characters in more places in http.cookies.Morsel Security: python/cpython#145599 / CVE-2026-3644 SourcelessFileLoader does not use io.open_code() Security: python/cpython#145506 / CVE-2026-2297 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 / 9fdad262-2e0f-11f1-88c7-00a098b42aeb / CVE-2026-4519 Excess Base64 data ignored after padding by default Security: python/cpython#145264 / CVE-2026-3446 Additional security related PRs from upstream HTTP proxy via "CONNECT" tunneling doesn't sanitize CR/LF Obtained from: python/cpython#148342 Security python/cpython#146212 / CVE-2026-1502 configparser.RawConfigParser.{OPTCRE,OPTCRE_NV} regexes vulnerable to quadratic backtracking Obtained from: python/cpython#148287 Security: python/cpython#146333 (cherry picked from commit 955268b)
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…146212) Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
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 PR: 294324 Which contains these security fixes: pyexpat.c: Unbounded C recursion in conv_content_model causes crash Security: python/cpython#145986 / CVE-2026-4224 Reject control characters in more places in http.cookies.Morsel Security: python/cpython#145599 / CVE-2026-3644 SourcelessFileLoader does not use io.open_code() Security: python/cpython#145506 / CVE-2026-2297 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 / 9fdad262-2e0f-11f1-88c7-00a098b42aeb / CVE-2026-4519 Excess Base64 data ignored after padding by default Security: python/cpython#145264 / CVE-2026-3446 Additional security related PRs from upstream HTTP proxy via "CONNECT" tunneling doesn't sanitize CR/LF Obtained from: python/cpython#148342 Security python/cpython#146212 / CVE-2026-1502 configparser.RawConfigParser.{OPTCRE,OPTCRE_NV} regexes vulnerable to quadratic backtracking Obtained from: python/cpython#148287 Security: python/cpython#146333
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 PR: 294324 Which contains these security fixes: pyexpat.c: Unbounded C recursion in conv_content_model causes crash Security: python/cpython#145986 / CVE-2026-4224 Reject control characters in more places in http.cookies.Morsel Security: python/cpython#145599 / CVE-2026-3644 SourcelessFileLoader does not use io.open_code() Security: python/cpython#145506 / CVE-2026-2297 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 / 9fdad262-2e0f-11f1-88c7-00a098b42aeb / CVE-2026-4519 Excess Base64 data ignored after padding by default Security: python/cpython#145264 / CVE-2026-3446 Additional security related PRs from upstream HTTP proxy via "CONNECT" tunneling doesn't sanitize CR/LF Obtained from: python/cpython#148342 Security python/cpython#146212 / CVE-2026-1502 configparser.RawConfigParser.{OPTCRE,OPTCRE_NV} regexes vulnerable to quadratic backtracking Obtained from: python/cpython#148287 Security: python/cpython#146333
Uh oh!
There was an error while loading. Please reload this page.