Skip to content

gh-136063: fix quadratic-complexity parsing in email.message._parseparam - #136072

Merged
ambv merged 4 commits into
python:mainfrom
picnixz:fix/email/parseparam-dos-136063
Oct 31, 2025
Merged

gh-136063: fix quadratic-complexity parsing in email.message._parseparam#136072
ambv merged 4 commits into
python:mainfrom
picnixz:fix/email/parseparam-dos-136063

Conversation

@picnixz

@picnixzpicnixz commented Jun 28, 2025

Copy link
Copy Markdown
Member

@serhiy-storchaka I think this one can be done without changing the interface. Just to be sure, but count() and find() have all linear complexities right (linear in the window they are using, not in the entire string).

@picnixz
picnixzforce-pushed the fix/email/parseparam-dos-136063 branch from 8763366 to d356a14CompareJune 28, 2025 12:44
@picnixz
picnixz marked this pull request as ready for review June 28, 2025 12:49
@picnixz
picnixz requested a review from a team as a code ownerJune 28, 2025 12:49
@picnixzpicnixz added the type-security A security issue label Jun 29, 2025
Comment threadLib/email/message.py Outdated
@picnixz
picnixz marked this pull request as draft July 20, 2025 07:54
@picnixz
picnixz marked this pull request as ready for review July 20, 2025 09:09
@picnixzpicnixz added needs backport to 3.9 needs backport to 3.10 only security fixes needs backport to 3.11 only security fixes needs backport to 3.12 only security fixes needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes labels Jul 20, 2025
@picnixz

Copy link
Copy Markdown
MemberAuthor

@serhiy-storchaka friendly ping

@ambv
ambv merged commit 680a5d0 into python:mainOct 31, 2025
45 checks passed
@miss-islington-app

Copy link
Copy Markdown

Thanks @picnixz for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9, 3.10, 3.11, 3.12, 3.13, 3.14.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 31, 2025
…parseparam` (pythonGH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 31, 2025
…parseparam` (pythonGH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app

Copy link
Copy Markdown

GH-140827 is a backport of this pull request to the 3.14 branch.

@bedevere-appbedevere-appBot removed the needs backport to 3.14 bugs and security fixes label Oct 31, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 31, 2025
…parseparam` (pythonGH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app

Copy link
Copy Markdown

GH-140828 is a backport of this pull request to the 3.13 branch.

@bedevere-appbedevere-appBot removed the needs backport to 3.13 bugs and security fixes label Oct 31, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 31, 2025
…parseparam` (pythonGH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app

Copy link
Copy Markdown

GH-140829 is a backport of this pull request to the 3.12 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 31, 2025
…parseparam` (pythonGH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-appbedevere-appBot removed the needs backport to 3.12 only security fixes label Oct 31, 2025
@bedevere-app

Copy link
Copy Markdown

GH-140830 is a backport of this pull request to the 3.11 branch.

@bedevere-appbedevere-appBot removed the needs backport to 3.11 only security fixes label Oct 31, 2025
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 31, 2025
…parseparam` (pythonGH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@bedevere-app

Copy link
Copy Markdown

GH-140831 is a backport of this pull request to the 3.10 branch.

@bedevere-appbedevere-appBot removed the needs backport to 3.10 only security fixes label Oct 31, 2025
@bedevere-app

Copy link
Copy Markdown

GH-140832 is a backport of this pull request to the 3.9 branch.

ambv pushed a commit that referenced this pull request Oct 31, 2025
…parseparam` (GH-136072) (GH-140832)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
ambv added a commit that referenced this pull request Oct 31, 2025
…_parseparam` (GH-136072) (GH-140830)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
@picnixz
picnixz deleted the fix/email/parseparam-dos-136063 branch November 2, 2025 09:33
hugovk pushed a commit that referenced this pull request Nov 30, 2025
…_parseparam` (GH-136072) (#140827)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
hugovk pushed a commit that referenced this pull request Nov 30, 2025
…_parseparam` (GH-136072) (#140828)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
StanFromIreland pushed a commit to StanFromIreland/cpython that referenced this pull request Dec 6, 2025
Yhg1s pushed a commit that referenced this pull request Dec 22, 2025
…_parseparam` (GH-136072) (#140829)
gh-136063: fix quadratic-complexity parsing in `email.message._parseparam` (GH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
pablogsal pushed a commit that referenced this pull request Jan 25, 2026
…_parseparam` (GH-136072) (#140831)
gh-136063: fix quadratic-complexity parsing in `email.message._parseparam` (GH-136072)
(cherry picked from commit 680a5d0)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type-securityA security issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@picnixz@aeurielesn@ambv