🇰🇷 한글 설명
Linux 커널의 crypto: aead 모듈에서 reqsize 처리 방식의 오류로 인해 메모리 오염 및 시스템 충돌이 발생할 수 있는 취약점입니다. 특정 암호화 알고리즘 프레임워크가 cra_reqsize 필드를 적절히 설정하지 않아 발생하는 문제입니다.
💡 쉬운 설명
암호화 데이터를 처리할 때 필요한 크기를 계산하는 과정에서 실수가 발생하여 컴퓨터의 메모리가 망가질 수 있는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
crypto: aead - Fix reqsize handling
Commit afddce13ce81d ("crypto: api - Add reqsize to crypto_alg")
introduced cra_reqsize field in crypto_alg struct to replace type
specific reqsize fields. It looks like this was introduced specifically
for ahash and acomp from the commit description as subsequent commits
add necessary changes in these alg frameworks.
However, this is being recommended for use in all crypto algs
instead of setting reqsize using crypto_*_set_reqsize(). Using
cra_reqsize in aead algorithms, hence, causes memory corruptions and
crashes as the underlying functions in the algorithm framework have not
been updated to set the reqsize properly from cra_reqsize. [1]
Add proper set_reqsize calls in the aead init function to properly
initialize reqsize for these algorithms in the framework.
[1]: https://gist.github.com/Pratham-T/24247446f1faf4b7843e4014d5089f6b
📍 영향받는 시스템
Linux Kernel (aead 암호화 알고리즘을 사용하는 버전)
⚔️ 공격 벡터
특수하게 조작된 암호화 요청을 통해 메모리 오염을 유도하여 시스템 충돌 또는 권한 상승 시도
🛡️ 대응 방법
커널 패치(commit afddce13ce81d 포함 버전)를 적용하거나 최신 보안 업데이트가 반영된 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 배포판 보안 공지를 통해 확인