🇰🇷 한글 설명
Linux 커널의 authencesn 암호화 모듈에서 인증 태그 크기가 1~3바이트인 경우를 적절히 차단하지 못하는 취약점이 발견되었습니다. 이로 인해 잘못된 인증 크기가 설정될 수 있으며, AF_ALG를 통해 접근할 경우 경계 외 메모리 접근(Out-of-bounds access)이 발생할 수 있습니다.
💡 쉬운 설명
암호화 과정에서 데이터의 무결성을 확인하는 '인증 태그'의 길이가 너무 짧게 설정될 수 있는 오류입니다. 공격자가 이를 악용하면 시스템의 허용되지 않은 메모리 영역에 접근하여 오류를 일으키거나 보안을 위협할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
crypto: authencesn - reject short ahash digests during instance creation
authencesn requires either a zero authsize or an authsize of at least
4 bytes because the ESN encrypt/decrypt paths always move 4 bytes of
high-order sequence number data at the end of the authenticated data.
While crypto_authenc_esn_setauthsize() already rejects explicit
non-zero authsizes in the range 1..3, crypto_authenc_esn_create()
still copied auth->digestsize into inst->alg.maxauthsize without
validating it. The AEAD core then initialized the tfm's default
authsize from that value.
As a result, selecting an ahash with digest size 1..3, such as
cbcmac(cipher_null), exposed authencesn instances whose default
authsize was invalid even though setauthsize() would have rejected the
same value. AF_ALG could then trigger the ESN tail handling with a
too-short tag and hit an out-of-bounds access.
Reject authencesn instances whose ahash digest size is in the invalid
non-zero range 1..3 so that no tfm can inherit an unsupported default
authsize.
📍 영향받는 시스템
Linux Kernel (authencesn 모듈을 사용하는 시스템)
⚔️ 공격 벡터
AF_ALG 인터페이스를 통해 1~3바이트 크기의 짧은 인증 태그를 사용하는 암호화 인스턴스를 생성하여 경계 외 메모리 접근 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 authencesn 인스턴스 생성 시 유효하지 않은 인증 크기를 차단하도록 수정
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인