English Advisory →
CVE-2026-135757.5/HIGHCWE-93

Perl HTTP::Session 세션 ID 검증 미흡으로 인한 Memcached 명령 주입 취약점 (CVE-2026-13575)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
tokuhirom, ktat
대상 컴포넌트 / 패키지
http::session, chi
권고문 발행일
2026-11-01
CVSS v3.1
7.5
HIGH
30일 악용확률
0.9%
FIRST.org
CISA KEV
미등재

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

HTTP::Session 0.54 미만 버전에서 HTTP::Session::Store::CHI 백엔드를 사용하는 Perl 웹 애플리케이션

파급 효과

공격자가 조작된 쿠키 세션 ID를 전송하여 Memcached 캐시 서버에 임의 명령을 실행하고 세션 데이터를 변조하거나 탈취할 수 있음

권장 조치

HTTP::Session 모듈을 최신 버전(0.54 이상)으로 즉시 업그레이드하거나 세션 ID 입력값에 대한 개행 문자 필터링 적용

영향받는 제품 및 버전 범위

HTTP::Session 0.54 미만 버전 (HTTP::Session::Store::CHI 및 Memcached 드라이버를 함께 사용하는 환경)

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

CPAN 또는 cpanm을 사용하여 HTTP::Session 모듈을 안전한 최신 버전(0.54 이상)으로 업그레이드하십시오.

bash
# cpanm을 사용한 최신 버전 설치
cpanm HTTP::Session

# 또는 특정 안전 버전 명시적 설치
cpanm TOKUHIROM/HTTP-Session-0.54.tar.gz

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

패치 적용이 즉시 어려운 경우, 애플리케이션 진입점(Plack/PSGI 미들웨어 등)에서 세션 ID 쿠키에 개행 문자(\r, \ )가 포함되어 있는지 검사하고 차단하는 로직을 추가하십시오.

perl
# PSGI 미들웨어 또는 애플리케이션 시작 부분에 추가할 임시 필터링 예시
use Plack::Request;

my $app = sub {
    my $env = shift;
    my $req = Plack::Request->new($env);
    my $cookie_name = 'http_session_id'; # 실제 세션 쿠키명으로 변경
    my $sid = $req->cookies->{$cookie_name};

    if ($sid && $sid =~ /[\r\
]/) {
        # 개행 문자가 감지되면 400 Bad Request 반환
        return [400, ['Content-Type' => 'text/plain'], ['Invalid Session ID']];
    }
    # 정상 흐름 진행
    ...
};

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

현재 설치된 HTTP::Session 버전을 확인하고, Memcached 프로토콜 관련 비정상 요청이 유입되었는지 점검하십시오.

bash
# 설치된 HTTP::Session 버전 확인
perl -MHTTP::Session -e 'print $HTTP::Session::VERSION . "\
"'

# Nginx/Apache 액세스 로그에서 쿠키 내 개행 문자(%0D, %0A) 주입 흔적 탐색
grep -Ei 'cookie.*(%0d|%0a|\x0d|\x0a)' /var/log/nginx/access.log
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
HTTP::Session을 사용하는 Perl 애플리케이션 환경에서는 즉시 모듈 버전을 0.54 이상으로 업데이트하여 Memcached 명령 주입 위협을 차단하십시오.

내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요

간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.

무료 플랜 지원 · GitHub/GitLab 1클릭 연동
CI/CD 파이프라인에 자동 보안 스캐닝(SAST/SCA) 구축하는 실전 강의
커리큘럼 확인하기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점은 Perl의 웹 세션 관리 모듈인 HTTP::Session에서 발생합니다. HTTP::Session::Store::CHI 스토어 엔진을 사용할 때, 클라이언트가 쿠키를 통해 전송한 세션 ID가 아무런 필터링이나 검증 없이 백엔드 CHI 캐시 레이어로 직접 전달됩니다. HTTP::Session::Store::Memcached와 같은 다른 스토어 엔진은 제어 문자가 포함된 세션 ID를 거부하는 검증 로직이 존재하지만, CHI 스토어 엔진에는 이러한 검증이 누락되어 있습니다. 또한 CHI 자체도 Memcached 드라이버를 사용할 때 키(Key) 값에 대한 이스케이프 처리를 수행하지 않아 취약점이 발생합니다.

2. 공격 메커니즘 및 익스플로잇 시나리오

Memcached 프로토콜은 텍스트 기반 프로토콜로, 캐리지 리턴(CR, \r) 및 라인 피드(LF, \ ) 문자를 명령의 구분자로 사용합니다. 공격자는 HTTP 요청의 세션 쿠키 값에 CR/LF 문자를 삽입하여 조작된 세션 ID를 전송합니다. HTTP::Session::Store::CHI가 이 세션 ID를 키로 사용하여 Memcached에 조회(Get) 명령을 보낼 때, 세션 ID 내부에 포함된 CR/LF 문자로 인해 원래의 조회 명령이 조기에 종료됩니다. 그 뒤에 이어지는 바이트들은 Memcached 서버에 의해 독립적인 후속 명령(예: 임의의 세션 값 설정 set, 세션 삭제 delete 등)으로 해석되어 실행됩니다.

3. 비즈니스 및 인프라 파급 영향

이 취약점을 악용하면 인증되지 않은 외부 공격자가 Memcached 내의 세션 데이터를 임의로 조작하거나 탈취할 수 있습니다. 이는 세션 하이재킹(Session Hijacking), 권한 상승(Privilege Escalation), 또는 임의의 사용자 계정 탈취로 이어질 수 있습니다. 또한 캐시 데이터 오염으로 인해 애플리케이션의 무결성이 손상되고 비즈니스 서비스에 심각한 장애를 초래할 수 있습니다.

공식 보안 권고문 및 참조 링크

NIST NVD 공식 영문 원문 (Original Record)

HTTP::Session versions before 0.54 for Perl allow memcached command injection via unfiltered session ids in HTTP::Session::Store::CHI. The session id from the client's cookie reaches the CHI cache unchanged. The sibling HTTP::Session::Store::Memcached rejects ids that contain control characters, but the CHI store has no such check, and CHI does not escape keys for its memcached drivers. With a memcached driver, a CR and LF in the session id end the cache command early, and the server reads the bytes after them as further commands.

자주 묻는 실무 질문 (FAQ — CVE-2026-13575)

FAQ

Q1. CVE-2026-13575 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2026-13575의 기본 점수는 CVSS 7.5 (HIGH)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 0.9%입니다. 외부 네트워크 노출 여부에 따라 선제적인 패치 및 접근 제어가 권장됩니다.

Q2. CVE-2026-13575에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 tokuhirom, ktat이며, 대상 컴포넌트는 http::session, chi입니다. 상세 영향 범위: HTTP::Session 0.54 미만 버전 (HTTP::Session::Store::CHI 및 Memcached 드라이버를 함께 사용하는 환경)

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] HTTP::Session 모듈을 최신 버전(0.54 이상)으로 즉시 업그레이드하거나 세션 ID 입력값에 대한 개행 문자 필터링 적용 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2026-13575 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (tokuhirom)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2026-13575 Perl HTTP::Session 세션 ID 검증 미흡으로 인한 Memcached 명령 주입 취약점 (CVE-2026-13575) (CVSS 7.5) - 패치 및 보안 권고 | CVE Pulse