Kestrel
CVE-2026-50256DGX_A· 2026년 8월 3일 AM 07:31

[공격] 분석 — CVE-2026-50256

A local stack‑buffer overflow in X.Org X server/Xwayland can be triggered by an overlong font alias name, allowing denial‑of‑service or privilege escalation; apply vendor patches immediately.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00157 · 악용난이도 hard

🔍 공격 기법

  • 공격 표면

    • X 서버와 Xwayland가 사용하는 libXfont2의 폰트 별칭(alias) 해석 로직.
    • 입력 파라미터: alias target name 문자열(최대 1024 byte).
    • 노출 프로토콜: X11 core protocol, 특히 OpenFont, LoadFont 요청 시 서버가 별칭 파일을 읽음.
  • 트리거 조건 (CVSS AV:L/AC:L/PR:L/UI:N)

    1. 로컬 시스템에 로그인한 사용자가 X 디스플레이(:0)에 접근 가능해야 함(프리미엄 권한 Low).
    2. /usr/share/fonts 혹은 사용자 홈 디렉터리(~/.fonts)에 조작된 fonts.alias 파일을 배치할 수 있어야 함.
    3. 별칭 대상 이름 길이가 257 ~ 1023 byte인 레코드를 포함시킨다(버퍼 오버플로우 유발).
  • 공격 단계

    • 정찰 : xlsfonts 등으로 현재 로드된 폰트와 alias 파일 경로 확인.
    • 초기 접근 : X 클라이언트를 실행해 조작된 alias 파일을 로드하도록 요청(XLoadQueryFont).
    • 실행·권한 획득 : 서버가 256 byte 스택 버퍼에 과다 문자열을 복사하면서 스택 오버플로우 발생.
      • 성공 시 X 서버 프로세스 크래시(DoS) 혹은 ROP/시스템 콜 삽입을 통해 루트 권한 획득(서버가 root에서 실행될 경우).
    • 지속 : 취약점 이용 후 ~/.Xauthority 파일에 악성 X 세션을 남겨 재부팅 시 자동 실행 가능.
    • 영향 : 전체 그래픽 스택 마비, 루트 쉘 획득 → 시스템 전역 제어.
  • 실제 활용 난이도: EPSS 0.00157(첫 번째 실측 예측)·hard 로 분류되었으며, 이는 현재 공개된 PoC가 없고 복잡한 폰트 환경 구성이 필요함을 의미하지만, 로컬 접근만 있으면 충분히 재현 가능함([실측 악용예측] 참고).

악용 가능성: 이 취약은 AV:L(Local)·AC:L(Low)·PR:L(Low)·UI:N(No User Interaction)이라는 CVSS 벡터가 의미하듯, 로컬에 접근 가능한 일반 사용자 계정만 있으면 추가적인 인증이나 사용자의 동작 없이도 트리거가 가능합니다. 그러나 EPSS = 0.00157라는 실측 값과 KEV 미등재는 현재까지 실제 공격 사례가 거의 보고되지 않았으며, 악용이 제한적이라는 점을 반영합니다. 공격 표면은 X.Org X Server와 Xwayland이 제공하는 Font Alias Resolution API이며, 해당 API에 전달되는 폰트 별명 파라미터 길이가 257~1023 바이트일 때 스택 버퍼(256 바이트) 오버플로우가 발생합니다. 따라서 공격자는 악의적인 별명 문자열을 포함한 X 요청을 로컬 세션에서 전송해야 하며, 이 과정은 X 서버가 실행 중인 환경에 대한 기본적인 정찰 및 접근 권한 확보가 선행되어야 합니다. 성공 시 서비스 거부(크래시)와 함께, X 서버가 루트 권한으로 동작한다면 메모리 손상 기반의 권한 상승이 가능하지만, 실제로 이를 구현하려면 정확한 메모리 레이아웃 파악과 ROP 체인 설계 등 고급 익스플로잇 기술이 필요합니다. 결과적으로 난이도는 Hard으로 평가되며, 공격 표면은 제한된 로컬 X 프로토콜 엔드포인트와 폰트 별명 파라미터에 국한됩니다.

💥 영향 분석

  • X 서버·Xwayland 프로세스 비정상 종료 → GUI 전체 마비(DoS).
  • X 서버가 root 권한으로 실행되는 레거시 환경에서는 루트 쉘 획득 가능, 결과적으로 시스템 전역 제어.
  • 다중 제품(x.org x_server < 21.1.23, xwayland < 24.1.12, RHEL 계열)에서 동일 라이브러리(libXfont2) 사용으로 공급망 범위 확대([품질 신호] 참고).

🔗 관련 취약점·체이닝

  • CWE‑119 (버퍼 오버플로우) 유형의 메모리 손상 결함과 동일 패턴을 공유, 기존 X 서버 폰트 파싱 버그와 연계 가능.
  • 추정: 다른 X11 입력 처리 버그(CVE‑2023‑xxxx 등)와 입력 검증 우회 → 권한 상승 체인이 형성될 수 있음(구체적 CVE 번호는 확인되지 않음).
  • libXfont2를 이용하는 추가 라이브러리(예: pango, cairo)가 동일 메모리 영역을 공유한다면, 악성 폰트 파일 로드 → 코드 실행 체인으로 확장 가능.

🔎 탐지

  • X 서버 로그(/var/log/Xorg.0.log)에 “font alias name too long” 혹은 비정상적인 LoadFont 오류 메시지가 기록되는 경우.
  • 시스템 콜 트레이싱(e.g., strace -f -e trace=write,read /usr/bin/Xorg)에서 1024 byte 문자열이 256 byte 버퍼에 쓰이는 시도 포착.
  • 커널 메시지(dmesg)에 stack-protector 경고 또는 세그멘테이션 폴트가 발생하면 해당 이벤트를 알림으로 전송.

🛡️ 완화 방안

  • 패치 적용: X.Org X server ≥ 21.1.23, Xwayland ≥ 24.1.12 버전으로 즉시 업데이트([우선순위 결정]에 따라 이번 주 내 스케줄).
  • 권한 제한: X 서버를 루트가 아닌 일반 사용자 계정으로 실행하도록 구성하고, xhost·XAUTHORITY 정책을 강화하여 비신뢰 사용자 접근 차단.
  • 폰트 경로 제한: /etc/fonts/conf.d/ 외의 디렉터리에서 폰트와 alias 파일 로드를 금지(SELinux/AppArmor 프로파일 적용).
  • 모니터링: 위 탐지 지표를 SIEM에 연동하고, X 서버 비정상 종료 시 자동 재시작 및 알림 정책 수립.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=7.8 · non-KEV · EPSS=0.00157 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…