🇰🇷 한글 설명
Linux 커널의 krb5enc 모듈에서 비동기 복호화 시 해시 검증 과정을 건너뛰는 취약점이 발견되었습니다. 이로 인해 데이터의 무결성 확인이 생략되어 변조된 데이터가 그대로 처리될 수 있습니다. 또한 EBUSY 및 EINPROGRESS 오류 처리 미흡으로 인한 상태 관리 문제도 포함되어 있습니다.
💡 쉬운 설명
데이터가 진짜인지 확인하는 '검사 단계'를 건너뛰고 바로 데이터를 읽어버리는 보안 구멍이 발견되었습니다. 공격자가 데이터를 몰래 바꿔치기해도 시스템이 이를 알아채지 못할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
crypto: krb5enc - fix async decrypt skipping hash verification
krb5enc_dispatch_decrypt() sets req->base.complete as the skcipher
callback, which is the caller's own completion handler. When the
skcipher completes asynchronously, this signals "done" to the caller
without executing krb5enc_dispatch_decrypt_hash(), completely bypassing
the integrity verification (hash check).
Compare with the encrypt path which correctly uses
krb5enc_encrypt_done as an intermediate callback to chain into the
hash computation on async completion.
Fix by adding krb5enc_decrypt_done as an intermediate callback that
chains into krb5enc_dispatch_decrypt_hash() upon async skcipher
completion, matching the encrypt path's callback pattern.
Also fix EBUSY/EINPROGRESS handling throughout: remove
krb5enc_request_complete() which incorrectly swallowed EINPROGRESS
notifications that must be passed up to callers waiting on backlogged
requests, and add missing EBUSY checks in krb5enc_encrypt_ahash_done
for the dispatch_encrypt return value.
Unset MAY_BACKLOG on the async completion path so the user won't
see back-to-back EINPROGRESS notifications.
📍 영향받는 시스템
Linux Kernel (krb5enc 모듈 사용 환경)
⚔️ 공격 벡터
비동기 복호화 과정을 악용하여 무결성 검증이 생략된 변조된 암호문 주입
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인