
CitrixBleed-2 (CVE-2025-5777) – NetScaler ADC/Gateway의 “memory bleed”에 대한 개념 증명 익스플로잇
CitrixBleed-2 (CVE-2025-5777) – NetScaler ADC/Gateway “메모리 블리드”에 대한 개념 증명 익스플로잇
CVE-2025-5777은 Citrix NetScaler ADC/Gateway(Gateway 또는 AAA vServer 모드)에서 인증되지 않은 심각한 out-of-bounds 읽기 취약점입니다. 단일 조작된 요청으로 세션 토큰이 포함된 메모리를 덤프하여 전체 인증 우회를 가능하게 하며, 이로 인해 “CitrixBleed 2”라는 별명을 얻었습니다.
패치된 빌드는 2025년 6월 17일에 공개되었습니다:
패치되지 않은 시스템에 대한 공식적인 완화 방법은 존재하지 않습니다.
이 GitHub 저장소에 제공된 정보는 교육 목적으로만 제공됩니다. 이 GitHub의 모든 정보는 선의로 제공되지만, 어떠한 종류의 명시적 또는 묵시적 보증도 하지 않으며, 정보의 정확성, 적절성, 타당성, 신뢰성, 가용성 또는 완전성에 대해 어떠한 진술도 하지 않습니다. 이 코드는 교육 및 방어 목적으로만 공개됩니다. 테스트 전에 대상 시스템을 소유하고 있거나 명시적 허가를 받았는지 확인하십시오. PoC는 라이브 메모리를 유출합니다. 가능하면 테스트 장비에서 실행하십시오.
이 스크립트는 Python3 및 urllib 라이브러리를 사용해야 합니다. 취약점을 테스트하려면 (프로덕션이 아닌) 시스템에서만 수행하십시오.
python CVE-2025-5777.py <target.host>
ns_log_scanner.py 스크립트는 HEX 범위 에서 (ASCII) 또는 , , (수평 탭, LF, CR) 의 문자(바이너리일 수 있음)를 감지하는 데 사용할 수 있습니다:
0x200x7F0x090x0A0x0Dpython ns_log_scanner.py /var/log/ns.log # (샘플 경로)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"doAuthentication bare-login exploit";
flow:established,to_server;
http_method; content:"POST"; nocase;
http_uri; pcre:"/\/p\/u\/doAuthentication\.do(?:[\/\?]|$)/Ui";
http_header; pcre:"/Content-Length\s*:\s*[1-9]\d{0,2}/Hi";
# ‼ Bare “login” – next char must NOT be '='
http_client_body; pcre:"/\blogin(?!\s*=)/i";
classtype:web-application-activity;
sid:1001003; rev:1; metadata:service http;
)
config ips custom-signature
edit "DoAuthentication_BareLogin"
set severity medium
set default-application signature
set service "HTTP"
set direction clienttoServer
set pattern "GETPOST \/p\/u\/doAuthentication\.do[\/\?]?.*Content-Length:\s*[1-9][0-9]{0,2}.*\blogin(?!\s*=)"
next
end
저자 : Mischa Rick van Geelen (@rickgeex)
회사 : Anovum B.V.
연락처 : [email protected]