1P by GN⁺ 19시간전 | ★ favorite | 댓글 1개
  • X.Org 프로젝트는 xorg-server 21.1.18 이전 버전과 Xwayland 24.1.8 이전 버전에서 발견된 여러 보안 취약점을 수정한 업데이트를 발표
  • 첫 번째 취약점(CVE-2025-62229)은 XPresentNotify 구조체 생성 과정의 use-after-free 문제로, 오류 처리 중 포인터가 해제된 후 재사용되는 위험 존재
  • 두 번째 취약점(CVE-2025-62230)은 Xkb 클라이언트 리소스 제거 과정의 use-after-free 문제로, 클라이언트 종료 시 리소스 삭제 함수가 이미 해제된 데이터를 참조
  • 세 번째 취약점(CVE-2025-62231)은 XkbSetCompatMap() 함수의 값 오버플로우 문제로, 입력 데이터 합이 unsigned short 범위를 초과할 수 있음
  • 모든 취약점은 xorg-server 21.1.19 및 Xwayland 24.1.9에서 수정되었으며, X.Org는 보고자 및 수정 기여자에게 감사를 표명

X.Org 보안 권고 개요

  • X.Org는 2025년 10월 28일, X 서버와 Xwayland 구현에서 발견된 다중 보안 문제에 대한 권고를 발표
  • 해당 문제들은 xorg-server 21.1.19xwayland 24.1.9 버전에서 수정됨
  • 취약점들은 Trend Micro Zero Day Initiative와 협력한 Jan-Niklas Sohn에 의해 발견됨

CVE-2025-62229 — XPresentNotify 구조체의 use-after-free

  • X11 Present 확장을 사용할 때, 픽스맵 표시 후 알림을 추가하는 과정에서 오류가 발생하면 dangling pointer가 남을 수 있음
    • 이로 인해 나중에 알림 구조체를 파괴할 때 use-after-free 발생 가능
  • 해당 문제는 Xorg 1.15에서 도입되었으며, xorg-server 21.1.19xwayland 24.1.9에서 수정
  • 수정 커밋: 5a4286b1

CVE-2025-62230 — Xkb 클라이언트 리소스 제거 시 use-after-free

  • 클라이언트의 Xkb 리소스를 제거할 때, XkbRemoveResourceClient() 함수가 장치에 연결된 XkbInterest 데이터만 해제하고 관련 리소스는 해제하지 않음
    • 결과적으로 클라이언트 종료 시 리소스 삭제 함수가 이미 해제된 데이터를 참조하여 use-after-free 발생
  • 해당 문제는 X11R6에서 도입되었으며, xorg-server 21.1.19xwayland 24.1.9에서 수정
  • 수정 커밋: 99790a2c, 10c94238

CVE-2025-62231 — XkbSetCompatMap()의 값 오버플로우

  • XkbCompatMap 구조체가 일부 값을 unsigned short로 저장하지만, 입력 데이터의 합이 이 범위를 초과할 수 있는지 확인하지 않음
    • 이로 인해 값 오버플로우 발생 가능
  • 해당 문제는 X11R6에서 도입되었으며, xorg-server 21.1.19xwayland 24.1.9에서 수정
  • 수정 커밋: 475d9f49

감사 및 배포

  • X.Org는 문제를 보고하고 수정에 참여한 모든 기여자에게 감사를 표명
  • 권고문에는 OpenPGP 서명 및 공개키 파일이 첨부되어 있음
  • 추가 정보는 xorg-announce 메일링 리스트에서 확인 가능
Hacker News 의견
  • X11Libre/xserver 기반에서 이런 변화들이 어떻게 작동하는지 궁금함
    내 이해로는 X.Org에서 발생한 보안 이슈를 해결하고 있다고 알고 있음
    하지만 XLibre가 X.Org 쪽에서 해결되지 않은 수천 개의 문제를 수정했다고 하니, 이미 완화된 상태인지 흥미로움

    • 그들의 GitHub를 보면 X.Org와 동일한 세 가지 변경이 10월 28일, 즉 권고문이 나온 날에 적용되었음
      이미 수정되어 있던 건 아니고, 발표 직후 바로 패치된 것임
    • XLibre는 5개월 만에 많은 작업이 진행된 걸 보면 꽤 활발한 프로젝트로 보임
    • 그 프로젝트는 현실성이 없는 공상 수준의 시도라고 생각함
      X.Org가 완전히 중단되면 X11을 유지할 역량이 없을 것 같음
    • 그건 “anti-woke”를 표방하며 포크된 프로젝트 아닌가?
      솔직히 보면 특정 인물이 개인적 불만을 X 서버 포크로 표출한 것처럼 보였음
  • 이런 취약점을 찾아내고 고치는 건 좋지만, 신뢰할 수 없는 클라이언트가 X 서버와 통신하도록 허용하는 건 설계상 위험한 일임
    특히 Tcl/Tk 앱이 있다면 X 서버를 통해 프로그램 명령을 직접 전송할 수도 있음

    • X 서버가 더 높은 권한으로 실행되거나 다른 호스트에서 동작하는 환경에서는 권한 상승 취약점이 발생할 수 있음
      X11은 사용자 세션 보안 메커니즘이 거의 없기 때문에, 신뢰도가 낮은 UI 프로그램을 실행하지 않는 게 좋음
      키 입력 주입이나 화면 캡처를 막을 방법이 없다는 건 설계적 한계이지만, 이런 공격을 과소평가해서는 안 됨
    • 여전히 xorg의 버그를 고치는 전설적인 개발자들이 있음
      예전에 Alan Coopersmith가 내가 보고한 버그를 직접 고쳐줬음
      아마 C 프로그램의 플래그 누락 문제였던 걸로 기억함
    • 1996년에는 Tk의 X 통합 수준이 놀라웠음
      그때는 Netscape를 MIT 매직 쿠키로 제어할 수 있었는데, 지금 생각하면 꽤 무서운 일임
    • Tk의 send 명령은 위험하지만, no-op으로 재바인딩하면 쉽게 막을 수 있음
  • Coverity는 이런 종류의 버그를 잘 찾아줌
    그런데 왜 X.Org 같은 중요한 프로젝트가 이 툴의 무료 접근 권한을 활용하지 않는지 궁금함

    • 이유는 간단함. Wayland를 개발하는 사람들이 원래 X.Org 개발자들이었음
      그들은 이제 새로운 전환 동기를 만드는 데 집중하고 있고, 오래된 프로젝트를 유지하는 데 에너지를 쓰고 싶지 않은 것임
  • 리눅스의 가장 큰 고통은 그래픽스임. 정말 아쉬움

    • 그래픽 덕분에 리눅스가 데스크톱 시장 점유율 1%를 넘겼다고 생각함
      하드웨어가 문제일 때는 힘들지만, 대부분의 환경에서는 Steam 게임이 거의 네이티브 수준으로 잘 돌아감
      문제는 리눅스가 아니라 하드웨어 쪽임
    • Xorg는 확실히 복잡하고 다루기 어려움
      하지만 이건 리눅스 전용이 아니라, 이제는 레거시 기술로 남은 느낌임
    • 우리의 고통은 그래픽스... 그리고 오디오... 와이파이 지원...
      결국 리눅스의 세 가지 고통은 그래픽, 오디오, 와이파이 하드웨어 지원임
      거기에 명령줄에 대한 거의 종교적인 집착까지 포함됨
  • Xorg를 죽이지 말아줬으면 함 :(

  • Fil-C가 첫 번째나 세 번째 문제를 막을 수 있었을까 궁금함

    • 내가 보기엔 모두 예방 가능했을 것 같음
  • Twitter가 어떻게 X.com을 가져갔는지 궁금함
    반대로 오픈소스 프로젝트가 Twitter.org를 가져갈 수 있었을까?

    • 90년대 후반 X.com이 PayPal과 합병되었고, Elon Musk가 도메인을 가져간 것
  • 대략적으로 말하면 X11은 이제 옛 게임이나 Steam 클라이언트를 위해 남아 있는 수준임
    특히 Steam 클라이언트는 여전히 32비트 실행 파일이라 더 문제임

  • Fil-C에서 SW 렌더링으로 Weston이 잘 돌아가는 걸 보면, X 서버도 Fil-C에서 잘 동작할 것 같음
    Fil-C는 비트 연산 중심 코드에서는 오버헤드가 가장 낮고, 포인터 추적 코드에서는 가장 높음
    X 서버는 전자에 가깝다고 봄. Weston도 그랬음