🔍 CVE-2026-18355

7.5
CVSS Score
HIGH
2026-09-07
2026-11-04 22:18
✅ 완료

🇰🇷 한글 설명

389 Directory Server(389-ds-base)의 SASL I/O 계층에서 힙 버퍼 오버플로우 취약점이 발견되었습니다. sasl_io_start_packet()에서 와이어로 수신한 래핑된 레코드 길이가 상한값으로만 검증되어, 0~2와 같은 작은 값일 경우 unsigned 뺄셈 언더플로우가 발생하고 약 4GiB를 1024바이트 힙 버퍼에 읽도록 요청됩니다. SSF가 0보다 큰 무결성 보호 SASL 바인드 이후 인증된 원격 공격자가 서비스 거부 또는 원격 코드 실행을 유발할 수 있습니다.

💡 쉬운 설명

디렉터리 서버가 네트워크로 받은 데이터 길이를 제대로 확인하지 않아, 정해진 크기보다 훨씬 많은 데이터를 메모리에 써넣을 수 있습니다. 로그인에 성공한 공격자가 이를 악용하면 서버가 멈추거나 시스템을 장악당할 수 있습니다.

🇺🇸 원문 (English)

A heap buffer overflow flaw was found in the SASL I/O layer of 389 Directory Server (389-ds-base). In sasl_io_start_packet(), the wrapped-record length read from the wire is validated only against an upper bound. A small wire length (0, 1, or 2) produces an encrypted_buffer_count below the already-consumed encrypted_buffer_offset, causing an unsigned subtraction underflow in sasl_io_read_packet(). PR_Recv is then requested to read approximately 4 GiB into a 1024-byte heap buffer, resulting in a heap buffer overflow with attacker-controlled content. After a successful SASL bind with integrity protection (SSF > 0), a remote authenticated attacker can cause a denial of service or potentially achieve remote code execution. This flaw is distinct from CVE-2026-11774, whose fix only guards against upper-bound overflow.

📍 영향받는 시스템

389 Directory Server(389-ds-base) 해당 취약 버전 (패치 버전 이전의 모든 릴리스, 정확한 버전은 배포판 보안 공지 참조)

⚔️ 공격 벡터

인증된 원격 사용자가 SASL 무결성 보호 바인드 후 조작된 작은 길이 값의 패킷을 전송하여 힙 오버플로우를 유발

🛡️ 대응 방법

389-ds-base를 CVE-2026-18355 수정이 포함된 최신 패치 버전으로 업데이트하고 서비스를 재시작

🔧 검증 코드

출력된 설치 버전을 배포판 보안 공지의 수정 버전과 비교하여 같거나 높으면 패치 적용됨, 낮으면 업데이트가 필요합니다.

Shell / Script
rpm -q 389-ds-base 2>/dev/null || dpkg -l 389-ds-base 2>/dev/null | grep 389-ds-base

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H