VYPR
Medium severityOSV Advisory· Published Jan 20, 2026· Updated Apr 15, 2026

CVE-2025-15366

CVE-2025-15366

Description

The imaplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.

Affected products

1

Patches

1
6262704b134d

gh-143921: Reject control characters in IMAP commands

https://github.com/python/cpythonSeth Michael LarsonJan 20, 2026via osv
3 files changed · +10 1
  • Lib/imaplib.py+3 1 modified
    @@ -129,7 +129,7 @@
     # We compile these in _mode_xxx.
     _Literal = br'.*{(?P<size>\d+)}$'
     _Untagged_status = br'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?'
    -
    +_control_chars = re.compile(b'[\x00-\x1F\x7F]')
     
     
     class IMAP4:
    @@ -1105,6 +1105,8 @@ def _command(self, name, *args):
                 if arg is None: continue
                 if isinstance(arg, str):
                     arg = bytes(arg, self._encoding)
    +            if _control_chars.search(arg):
    +                raise ValueError("Control characters not allowed in commands")
                 data = data + b' ' + arg
     
             literal = self.literal
    
  • Lib/test/test_imaplib.py+6 0 modified
    @@ -657,6 +657,12 @@ def test_unselect(self):
             self.assertEqual(data[0], b'Returned to authenticated state. (Success)')
             self.assertEqual(client.state, 'AUTH')
     
    +    def test_control_characters(self):
    +        client, _ = self._setup(SimpleIMAPHandler)
    +        for c0 in support.control_characters_c0():
    +            with self.assertRaises(ValueError):
    +                client.login(f'user{c0}', 'pass')
    +
         # property tests
     
         def test_file_property_should_not_be_accessed(self):
    
  • Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst+1 0 added
    @@ -0,0 +1 @@
    +Reject control characters in IMAP commands.
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.