[공격] 분석 — CVE-2026-56000
CVE-2026-56000 is a heap use‑after‑free in Xorg/Xwayland GLX handling that lets a local unprivileged client execute code with the X server’s privileges; apply the upstream patch or temporarily block GLX via SELinux/AppArmor.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00222 · 악용난이도 hard
🔍 공격 기법
-
전제 조건
- 대상: x.org x_server 버전 < 21.2.24 또는 xwayland 버전 < 24.1.13.
- 로컬 X 소켓(
/tmp/.X11-unix/X0등)에 접근 가능한 계정(일반 사용자라도DISPLAY설정만 있으면 가능). → CVSS 벡터 AV:L/AC:L/PR:L/UI:N과 일치.
GLX 확장이 활성화돼 있어야 함(glxinfo | grep GLX등으로 확인).
-
정찰
Xorg -version혹은/var/log/Xorg.0.log에서 버전 확인.xdpyinfo | grep GLX로 GLX 지원 여부 검증.
-
초기 접근 & 트리거
- X 서버에 Unix 도메인 소켓으로 연결 후 GLX 컨텍스트를 생성(
glXCreateContext). - 바로 해당 컨텍스트를 파괴(
glXDestroyContext)해 내부 힙 블록을 free. - 다른 X 요청(예:
XCreateWindow,XChangeProperty)을 연속 전송하여 동일 크기의 메모리를 할당, 이때 공격자가 제어 가능한 구조체를 해제된 영역에 배치(힙 레이아웃 스프레이). - 이후
glXMakeCurrent(내부CommonMakeCurrent()) 호출 시 방금 재할당된 포인터가 역참조돼 Use‑After‑Free가 발생, 공격자가 삽입한 함수 포인터가 실행됨.
- X 서버에 Unix 도메인 소켓으로 연결 후 GLX 컨텍스트를 생성(
-
실행·권한 획득
- X 서버 프로세스는 일반적으로 root 또는
root권한을 가진 setuid 바이너리로 실행되므로, 코드 실행 시 동일 권한을 획득. - 성공하면 루트 쉘, 시스템 서비스 조작, 디스플레이 세션 가로채기 등 전면 제어가 가능.
- X 서버 프로세스는 일반적으로 root 또는
-
지속·영향
- 취득한 root 권한으로
systemd유닛 수정,cron작업 추가,/etc/ssh/authorized_keys삽입 등 영구적 접근 확보. - X 서버 재시작 시 동일 버전이면 재사용 가능 → 패치가 적용될 때까지 지속 위험 존재.
- 취득한 root 권한으로
-
공격 난이도
- EPSS 0.00222(실측 악용 예측)와 “hard” 등급을 감안하면 전문적인 메모리 레이아웃 이해가 필요하지만, 로컬 접근 장벽이 낮아 실현 가능성은 무시할 수 없음.
악용 가능성: 해당 취약은 로컬 공격자(AV:L)가 X 서버에 직접 연결하여 GLX commit을 제공할 수 있는 환경이 전제됩니다. 공격자는 X Wayland 또는 xorg‑server 프로세스 내부의 CommonMakeCurrent() 함수를 호출하면서, 재할당될 가능성이 있는 메모리를 가리키도록 조작해 힙 Use‑After‑Free를 유발합니다(AC:L, PR:L). 이 과정은 사용자 인터페이스가 필요 없으므로 UI:N 조건을 만족하며, 로컬 권한만 있으면 충분히 실행됩니다. EPSS 0.00222라는 수치는 현재 실제 악용 사례가 드물다는 통계적 근거이지만, 취약점 자체가 메모리 해제 후 재사용을 허용하므로 공격 성공 가능성은 이론적으로 높습니다. KEV에 등재되지 않은 것은 아직 대규모 캠페인이나 자동화된 익스플로잇이 발견되지 않았기 때문이며, 이는 탐지와 대응이 늦어질 위험을 의미합니다. 노출되는 공격 표면은 X 프로토콜의 GLX extension과 CommonMakeCurrent() 호출 파라미터이며, 해당 함수에 전달되는 메모리 포인터를 조작할 수 있는 로컬 프로세스가 유일한 진입점입니다. 따라서 로컬 권한을 가진 사용자가 X 서버와 직접 통신할 수 있는 환경이라면, 난이도는 ‘hard’ 수준이지만 충분히 실현 가능한 위협으로 평가됩니다.
💥 영향 분석
- X 서버 프로세스 권한으로 루트 수준 코드 실행이 가능해짐.
- 전체 GUI 세션을 가로채고 키 입력·스크린샷 등을 탈취할 수 있음.
- 시스템 서비스 및 파일 시스템에 대한 무제한 접근이 열려, 장기적인 침투와 데이터 유출 위험이 존재함.
🔗 관련 취약점·체이닝
- CWE‑416 (Use After Free) 가 핵심 메커니즘이며, 힙 스프레이를 통해 임의 구조체 삽입 후 함수 포인터 덮어쓰기가 전제됨.
- 동일 X 서버/GLX 스택에 존재하는 다른 메모리 손상 결함(예: DRI2, Composite 확장에서 발견된 버퍼 오버플로)과 조합하면 UAF → 권한 상승 → 파일 시스템 접근 순서의 다단계 체인이 가능.
- 추정: 다른 로컬 권한 상승 취약점이 존재한다면, 해당 결함을 이용해 먼저 X 서버 프로세스에 대한 메모리 조작 권한을 확보하고 이후 UAF를 트리거하는 체인이 구성될 수 있음.
🔎 탐지
- Xorg/Xwayland 로그에서
GLXMakeCurrent직후 발생하는 segmentation fault, core dump 혹은 비정상적인 재시작 이벤트. /proc/<xorg_pid>/maps에서 동일 주소가 짧은 시간 내에 여러 번 매핑·언매핑되는 패턴(힙 가드링/재할당).- SELinux/AppArmor 감사 로그에 비특권 프로세스가
glx권한을 요구하거나execmem시도 기록이 남는 경우.
🛡️ 완화 방안
- 패치 적용 – xorg‑server ≥ 21.2.24, xwayland ≥ 24.1.13 로 업그레이드 (근본 해결).
- 임시 차단
- 전역 GLX 비활성화:
/etc/X11/xorg.conf.d/10-disable-glx.conf에Option "GLX" "disable"추가(서비스 중단 위험 감수). - SELinux 정책(
deny xwayland_t glx:* execmem;) 혹은 AppArmor 프로파일을 이용해 GLX 호출 자체를 차단.
- 전역 GLX 비활성화:
- 클라이언트‑레벨 샌드박싱 – systemd‑logind,
bubblewrap등으로 각 X 클라이언트를 별도 네임스페이스·cgroup에 격리하고, GLX 사용을 허용된 신뢰 앱에만 예외 처리(멀티테넌트·VDI 환경에서 권장). - 탐지 룰 배포 – 위 탐지 지표를 기반으로 SIEM/EDR에 서명 추가, Xorg 로그와 SELinux 감사 로그 실시간 모니터링 수행.
다중 소스에서 일관성이 확인됐으며(교차검증), EPSS 0.00222는 현재 악용 사례가 드물지만 권한 상승 위험이 크므로 이번 주 내(scheduled) 대응을 권장합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00222 · exploit=hard · in_scope=None