🇰🇷 한글 설명
Twisted 프레임워크의 twisted/mail/imap4.py 내 wildcardToRegexp() 함수에서 발생하는 취약점입니다. 인증된 클라이언트가 특수 문자가 포함된 패턴을 전송할 경우, 정규 표현식의 치명적 백트래킹(Catastrophic Backtracking)을 유발하여 서버의 입출력을 중단시킬 수 있습니다.
💡 쉬운 설명
악의적인 사용자가 복잡한 규칙을 보내 서버가 계산을 하느라 멈추게 만드는 공격입니다. 이로 인해 서버가 응답하지 않는 상태가 되어 서비스가 중단될 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
Twisted 25.5.0 및 이전 버전
⚔️ 공격 벡터
인증된 클라이언트가 IMAP LIST 또는 LSUB 명령에 정규 표현식 엔진을 과부하시키는 패턴을 포함하여 전송
🛡️ 대응 방법
해당 취약점이 해결된 패치 버전이 출시될 때까지 모니터링을 강화하거나, 정규 표현식 패턴 입력에 대한 제한을 적용해야 합니다.
🔧 검증 코드
출력된 버전 번호가 25.5.0 이하인지 확인하여 취약 여부를 판단합니다.
python3 -c 'import twisted; print(twisted.__version__)'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
💻 영향받는 소프트웨어
IBM WebSphere Application Server