🔍 CVE-2026-99136

7.0
CVSS Score
HIGH
2026-10-28
2026-10-31 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널 dm-crypt 모듈의 crypt_dec_pending 함수에서 io->error를 atomic_dec_and_test 이전에 읽어 발생하는 경쟁 조건(race condition)이 수정되었습니다. 인터럽트 컨텍스트의 crypt_endio가 오류 상태를 설정하는 사이에 오래된 상태가 보고되어, 실패한 읽기/쓰기가 성공으로 처리될 수 있었습니다. 수정은 io->error를 atomic_dec_and_test 이후에 읽도록 변경하는 것입니다.

💡 쉬운 설명

암호화 디스크(dm-crypt)에서 입출력 실패가 발생했는데도 시스템이 성공으로 잘못 기록할 수 있는 타이밍 문제가 있었습니다. 이로 인해 실패한 데이터가 정상 처리된 것처럼 보일 수 있어 데이터 무결성 문제로 이어질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dm-crypt: fix a tiny race condition in crypt_dec_pending crypt_dec_pending reads io->error before calling atomic_dec_and_test. Another context, for example crypt_endio called from an interrupt, may set io->error and drop its reference between the read and the decrement. crypt_dec_pending then drops the last reference and completes the bio with the stale status - so a read that failed and was never decrypted, or a write that failed, is reported as successful. The read was placed before the decrement by commit b35f8caa0890 ("dm crypt: wait for endio to complete before destruction"), because that commit freed dm_crypt_io before calling bio_endio. This is no longer the case, dm_crypt_io lives in the per-bio data now. Read io->error after atomic_dec_and_test instead. atomic_dec_and_test is fully ordered, so no additional barrier is needed.

📍 영향받는 시스템

dm-crypt를 사용하는 Linux 커널 (수정 커밋 b35f8caa0890 이후 버전 포함, 정확한 영향 버전은 배포판 공지 확인 필요)

⚔️ 공격 벡터

로컬 권한 또는 I/O 부하를 유발할 수 있는 조건에서 타이밍을 조작해 실패한 I/O를 성공으로 보고하게 만들어 데이터 무결성 훼손을 유도할 수 있음

🛡️ 대응 방법

배포판 제공 최신 커널로 업데이트 후 재부팅

🔧 검증 코드

출력된 커널 버전을 배포판의 보안 권고(패치된 빌드 번호)와 비교하여 수정된 버전 이상인지 확인합니다. 낮으면 업데이트가 필요합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel