CVE-2026-106454
CVE-2026-106454 · Twisted: IMAP wildcardToRegexp() ReDoS
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Twisted is an event-based framework for internet applications, supporting Python 3.6+. In 25.5.0 and earlier, wildcardToRegexp() in twisted/mail/imap4.py translates the IMAP asterisk and percent wildcards but passes all other characters from an authenticated client's LIST or LSUB pattern directly to re.compile(), allowing nested or otherwise expensive regular expression constructs to cause catastrophic backtracking when matched against mailbox names. Because Twisted uses a cooperative single-threaded reactor, the blocking match suspends all server input and output for the duration of the match. No fixed release is available as of this review.
CVSS 4.3 · Medium · EPSS 0.4% · Fix available
- Published
- Updated
Affected products and versions
twisted
- Versions
- <= 25.5.0: Affected
No fix published
twisted Debian:12
- Versions
- 22.4.0-4
- 22.4.0-4+deb12u1
- 23.10.0-1
- 23.10.0-2
- 24.10.0-1
- 24.10.0-2
- 24.11.0-1
- 24.3.0-1
- 24.3.0-2
- 24.3.0-3
- 24.7.0-1
- 24.7.0-2
- 24.7.0-3
- 25.5.0-1
- 25.5.0-2
- 25.5.0-3
- 25.5.0-4
- 25.5.0-5
- 26.4.0-1
- 26.4.0-2
- 26.4.0-3
- 26.4.0-4
- 26.4.0-5
- 26.4.0-6
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Debian:13
- Versions
- 24.11.0-1
- 25.5.0-1
- 25.5.0-2
- 25.5.0-3
- 25.5.0-4
- 25.5.0-5
- 26.4.0-1
- 26.4.0-2
- 26.4.0-3
- 26.4.0-4
- 26.4.0-5
- 26.4.0-6
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Debian:14
- Versions
- 24.11.0-1
- 25.5.0-1
- 25.5.0-2
- 25.5.0-3
- 25.5.0-4
- 25.5.0-5
- 26.4.0-1
- 26.4.0-2
- 26.4.0-3
- 26.4.0-4
- Affected ranges
- ECOSYSTEM: < 26.4.0-5
Update to 26.4.0-5
twisted PyPI
- Versions
- 1.0.1
- 1.0.3
- 1.0.4
- 1.0.5
- 1.0.6
- 1.0.7
- 1.1.0
- 1.1.1
- 1.2.0
- 10.0.0
- 10.1.0
- 10.2.0
- 11.0.0
- 11.1.0
- 12.0.0
- 12.1.0
- 12.2.0
- 12.3.0
- 13.0.0
- 13.1.0
- 13.2.0
- 14.0.0
- 14.0.1
- 14.0.2
- 15.0.0
- 15.1.0
- 15.2.0
- 15.2.1
- 15.3.0
- 15.4.0
- 15.5.0
- 16.0.0
- 16.1.0
- 16.1.1
- 16.2.0
- 16.3.0
- 16.3.1
- 16.3.2
- 16.4.0
- 16.4.1
- 16.5.0
- 16.5.0rc1
- 16.5.0rc2
- 16.6.0
- 16.6.0rc1
- 16.7.0rc1
- 16.7.0rc2
- 17.1.0
- 17.1.0rc1
- 17.5.0
- 17.9.0
- 17.9.0rc1
- 18.4.0
- 18.4.0rc1
- 18.7.0
- 18.7.0rc1
- 18.7.0rc2
- 18.9.0
- 18.9.0rc1
- 19.10.0
- 19.10.0rc1
- 19.2.0
- 19.2.0rc1
- 19.2.0rc2
- 19.2.1
- 19.7.0
- 19.7.0rc1
- 2.1.0
- 2.4.0
- 2.5.0
- 20.3.0
- 20.3.0rc1
- 21.2.0
- 21.2.0rc1
- 21.7.0
- 21.7.0rc1
- 21.7.0rc2
- 21.7.0rc3
- 22.1.0
- 22.1.0rc1
- 22.10.0
- 22.10.0rc1
- 22.2.0
- 22.2.0rc1
- 22.4.0
- 22.4.0rc1
- 22.8.0
- 22.8.0rc1
- 23.10.0
- 23.10.0rc1
- 23.8.0
- 23.8.0rc1
- 24.10.0
- 24.10.0rc1
- 24.11.0
- 24.11.0rc1
- 24.11.0rc2
- 24.2.0rc1
- 24.3.0
- 24.7.0
- 24.7.0rc1
- 24.7.0rc2
- 25.5.0
- 25.5.0rc1
- 26.4.0
- 26.4.0rc2
- 8.0.0
- 8.0.1
- 8.1.0
- 8.2.0
- 9.0.0
- Affected ranges
- ECOSYSTEM: ≤ 26.4.0
No fix published
twisted PyPI
- Versions
- 1.0.1
- 1.0.3
- 1.0.4
- 1.0.5
- 1.0.6
- 1.0.7
- 1.1.0
- 1.1.1
- 1.2.0
- 10.0.0
- 10.1.0
- 10.2.0
- 11.0.0
- 11.1.0
- 12.0.0
- 12.1.0
- 12.2.0
- 12.3.0
- 13.0.0
- 13.1.0
- 13.2.0
- 14.0.0
- 14.0.1
- 14.0.2
- 15.0.0
- 15.1.0
- 15.2.0
- 15.2.1
- 15.3.0
- 15.4.0
- 15.5.0
- 16.0.0
- 16.1.0
- 16.1.1
- 16.2.0
- 16.3.0
- 16.3.1
- 16.3.2
- 16.4.0
- 16.4.1
- 16.5.0
- 16.5.0rc1
- 16.5.0rc2
- 16.6.0
- 16.6.0rc1
- 16.7.0rc1
- 16.7.0rc2
- 17.1.0
- 17.1.0rc1
- 17.5.0
- 17.9.0
- 17.9.0rc1
- 18.4.0
- 18.4.0rc1
- 18.7.0
- 18.7.0rc1
- 18.7.0rc2
- 18.9.0
- 18.9.0rc1
- 19.10.0
- 19.10.0rc1
- 19.2.0
- 19.2.0rc1
- 19.2.0rc2
- 19.2.1
- 19.7.0
- 19.7.0rc1
- 2.1.0
- 2.4.0
- 2.5.0
- 20.3.0
- 20.3.0rc1
- 21.2.0
- 21.2.0rc1
- 21.7.0
- 21.7.0rc1
- 21.7.0rc2
- 21.7.0rc3
- 22.1.0
- 22.1.0rc1
- 22.10.0
- 22.10.0rc1
- 22.2.0
- 22.2.0rc1
- 22.4.0
- 22.4.0rc1
- 22.8.0
- 22.8.0rc1
- 23.10.0
- 23.10.0rc1
- 23.8.0
- 23.8.0rc1
- 24.10.0
- 24.10.0rc1
- 24.11.0
- 24.11.0rc1
- 24.11.0rc2
- 24.2.0rc1
- 24.3.0
- 24.7.0
- 24.7.0rc1
- 24.7.0rc2
- 25.5.0
- 25.5.0rc1
- 8.0.0
- 8.0.1
- 8.1.0
- 8.2.0
- 9.0.0
- Affected ranges
- ECOSYSTEM: ≤ 25.5.0
No fix published
twisted Ubuntu:Pro:14.04:LTS
- Versions
- 13.0.0-1ubuntu1
- 13.2.0-1ubuntu1
- 13.2.0-1ubuntu1.2
- 13.2.0-1ubuntu1.2+esm1
- 13.2.0-1ubuntu1.2+esm2
- 13.2.0-1ubuntu1.2+esm3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:Pro:16.04:LTS
- Versions
- 15.2.1-1ubuntu2
- 15.5.0-1
- 15.5.0-2
- 15.5.0-2ubuntu1
- 15.5.0-4
- 16.0.0~pre1-1
- 16.0.0~pre1-1ubuntu1
- 16.0.0~pre1-2ubuntu1
- 16.0.0~pre1-3
- 16.0.0-1
- 16.0.0-1ubuntu0.2
- 16.0.0-1ubuntu0.4
- 16.0.0-1ubuntu0.4+esm1
- 16.0.0-1ubuntu0.4+esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:Pro:18.04:LTS
- Versions
- 16.6.0-2ubuntu3
- 17.9.0-1
- 17.9.0-2
- 17.9.0-2ubuntu0.1
- 17.9.0-2ubuntu0.3
- 17.9.0-2ubuntu0.3+esm1
- 17.9.0-2ubuntu0.3+esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:20.04:LTS
- Versions
- 18.9.0-3ubuntu1
- 18.9.0-5
- 18.9.0-6
- 18.9.0-6build1
- 18.9.0-6ubuntu1
- 18.9.0-8
- 18.9.0-11
- 18.9.0-11ubuntu0.20.04.1
- 18.9.0-11ubuntu0.20.04.2
- 18.9.0-11ubuntu0.20.04.3
- 18.9.0-11ubuntu0.20.04.4
- 18.9.0-11ubuntu0.20.04.5
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:22.04:LTS
- Versions
- 20.3.0-7ubuntu1
- 20.3.0-7ubuntu3
- 22.1.0-2ubuntu2
- 22.1.0-2ubuntu2.1
- 22.1.0-2ubuntu2.3
- 22.1.0-2ubuntu2.4
- 22.1.0-2ubuntu2.5
- 22.1.0-2ubuntu2.6
- 22.1.0-2ubuntu2.7
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:24.04:LTS
- Versions
- 22.4.0-4
- 22.4.0-4ubuntu1
- 23.10.0-2
- 24.3.0-1
- 24.3.0-1ubuntu0.1
- 24.3.0-1ubuntu0.2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:26.10
- Versions
- 25.5.0-5
- 26.4.0-4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
twisted Ubuntu:26.04:LTS
- Versions
- 24.11.0-1
- 25.5.0-4
- 25.5.0-5
- 25.5.0-5ubuntu0.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published