🔍 CVE-2026-99237

7.8
CVSS Score
HIGH
2026-11-02
2026-11-03 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 tracing 서브시스템에서, update_last_data_if_empty() 함수가 trace_types_lock 없이 호출되어 두 개의 리더가 동시에 module_delta를 두 번 해제하거나 모듈 노티파이어가 해제 중인 module_delta를 갱신할 수 있는 경쟁 조건(race condition) 문제가 수정되었습니다. 수정 사항은 해당 경로에서 trace_types_lock을 획득하도록 변경하는 것입니다.

💡 쉬운 설명

여러 프로그램이 동시에 리눅스 커널의 추적 기능 데이터를 읽거나 초기화할 때 메모리 정리가 꼬여 시스템이 불안정해질 수 있는 문제입니다. 이를 막기 위해 공용 잠금장치를 추가하여 한 번에 한 작업만 처리하도록 바로잡았습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tracing: Hold trace_types_lock when resetting last boot data from readers update_last_data_if_empty() is called from tracing_open() with O_TRUNC, tracing_read_pipe() and tracing_buffers_read() without trace_types_lock. Two readers can both pass the LAST_BOOT test and free module_delta twice, and a module notifier can update module_delta while it is being freed. Take trace_types_lock in those paths and keep the callers that already hold it on an unlocked variant.

📍 영향받는 시스템

패치 이전의 Linux 커널 (tracing 서브시스템을 사용하는 배포판 전반, 정확한 영향 버전은 해당 커널의 수정 커밋 기준으로 확인 필요)

⚔️ 공격 벡터

로컬 사용자가 tracefs/debugfs의 trace 관련 파일을 동시에 열거나 읽어 경쟁 조건을 유발하여 메모리 손상 및 커널 충돌 또는 권한 상승을 시도할 수 있습니다.

🛡️ 대응 방법

배포판 벤더가 제공하는 보안 업데이트 또는 본 수정이 포함된 최신 Linux 커널로 업그레이드하고 재부팅합니다.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 권고문 또는 해당 수정 커밋이 포함된 버전과 비교하여, 같거나 더 높으면 패치가 적용된 것입니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel