🇰🇷 한글 설명
Cyrus SASL의 DIGEST-MD5 플러그인 내 add_to_challenge() 함수에서 힙 기반 버퍼 오버플로 취약점이 발견되었습니다. 특수 문자를 이스케이프 처리하는 과정에서 필요한 버퍼 크기를 재계산하지 않아, 공격자가 제어하는 입력값에 따라 힙 영역에 경계를 벗어난 쓰기가 발생할 수 있습니다. 이로 인해 클라이언트 애플리케이션이 충돌하거나 서비스 거부 상태에 빠질 수 있습니다.
💡 쉬운 설명
인증 과정에서 데이터를 저장할 공간을 계산할 때, 특수 문자가 추가되어 데이터가 길어질 것을 예상하지 못해 발생하는 오류입니다. 악의적인 서버가 조작된 데이터를 보내면 사용자의 프로그램이 갑자기 종료될 수 있습니다.
🇺🇸 원문 (English)
A heap-based buffer overflow flaw was found in Cyrus SASL. The add_to_challenge() function in the DIGEST-MD5 plugin computes the size of the buffer needed for a challenge/response field before DIGEST-MD5 quoting is applied, but does not recompute that size when quoting (escaping special characters) makes the value longer. The under-sized buffer is then passed to strcat(), causing a heap-based out-of-bounds write whose size depends on attacker-controlled input. A malicious or on-path DIGEST-MD5 (or HTTP Digest) server can trigger this flaw in a connecting client by supplying a crafted challenge field, such as realm or nonce, most likely resulting in a crash of the client application.
📍 영향받는 시스템
Cyrus SASL (DIGEST-MD5 플러그인 사용 환경)
⚔️ 공격 벡터
악의적인 또는 중간자 공격(On-path)을 수행하는 서버가 조작된 challenge 필드(realm 또는 nonce)를 클라이언트에 전송
🛡️ 대응 방법
Cyrus SASL을 최신 보안 패치가 적용된 버전으로 업데이트하거나 DIGEST-MD5 플러그인 사용을 제한하십시오.
🔧 검증 코드
설치된 Cyrus SASL 패키지의 버전을 확인하여 취약점이 해결된 최신 버전인지 대조하십시오.
dpkg -l | grep cyrus-sasl 2>/dev/null || rpm -qa | grep cyrus-sasl
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server