개요

Mnemosyne 동기화 서버는 JWT bearer 토큰으로 클라이언트를 인증한다. CVE-2026-59163은 이 인증 처리가 토큰의 HMAC-SHA256 서명을 검증하지 않는다는 취약점이다(GHSA-xcw4-53cc-hv32). CVE 리코드는 PUBLISHED 상태이며, 벤더가 선언한 CVSS 3.1 점수는 9.1(critical)이다.
영향 범위
- sync server 엔드포인트를 노출하는 모든 Mnemosyne 버전(v3.10.0 포함 이전)이 영향 대상이다
- 인증을 거치지 않은 공격자가 임의 사용자로 사칭할 수 있다
- 해당 사용자의 동기화 데이터를 읽거나 수정해 기밀성과 무결성을 침해할 수 있다
- v3.10.1에서 수정됐다
기술적 분석
v3.10.1 이전 mnemosyne/core/sync_server.py의 인증 처리는 JWT의 헤더와 페이로드를 base64로 디코딩한 뒤, 서명 검증을 사실상 비활성화하는 옵션을 붙여 jwt 라이브러리 호출에 전달했다. 그 결과 토큰의 HMAC-SHA256 서명은 검증되지 않았고, 잘 형성된(well-formed) 토큰이면 어떤 것이든 그대로 수락됐다.
서명 검증이 전혀 수행되지 않으므로, 공격자는 유효한 키나 정상 발급 절차를 거치지 않아도 토큰 형태만 맞추면 인증 우회가 성립한다. 이 때문에 공격 문턱은 낮은 편이다. 다만 현재까지 공개 PoC와 실제 악용(in-the-wild)은 검색 결과에서 확인되지 않아, 공격 코드 가용성과 활성 악용 여부는 확인되지 않은 상태로 남아 있다.
CVSS 3.1 9.1(critical)은 벤더(PR #373)가 선언한 점수다.
대응 방안
즉각 조치
- sync server 엔드포인트를 노출하는 배포 환경이라면 v3.10.1로 즉시 업그레이드한다
지속 대응
- v3.10.1(커밋 a0b6b87, security/jwt-signature-verification 브랜치, PR #373)을 적용한다
한계
- 서명 검증을 사실상 비활성화한 구체적 jwt 라이브러리 옵션의 명칭은 출처에 명시되지 않는다
- sync server 엔드포인트 노출이 기본 구성인지 여부는 확인되지 않아, 노출 여부에 따른 적용 대상 판단이 필요하다
- CVSS 3.1 9.1(critical)은 벤더가 선언한 점수이며, 독립적 운영 우선순위는 환경에 따라 달라질 수 있다
- 공개 PoC와 실제 악용은 검색 결과에서 확인되지 않아 미확인이다
참고자료
- CVE-2026-59163 record (CVELIST V5)
- JWT signature verification bypass in Mnemosyne sync server (GHSA-xcw4-53cc-hv32) - Summary
- Release v3.10.1 (mnemosyne-oss/mnemosyne)
- PR #373: v3.10.1 - critical JWT signature verification fix
함께 읽으면 좋은 글
- Unbound DNSSEC 검증기 CVE-2026-81642: 악성 DNS 존 기반 RCE 가능성과 1.26.1 업데이트 점검
- Transparent Tribe(APT36)의 RapidRust: 사설 GitHub C2를 쓰는 Rust 백도어 캠페인 분석
- CVE-2026-39364 대규모 스캔 캠페인 — 노출된 Vite 개발 서버로 클라우드 자격증명 유출
본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.
댓글 (0)
댓글을 작성하려면 로그인이 필요합니다.
로그인아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!