🇰🇷 한글 설명
Linux 커널 4.14.8 이전 버전의 HMAC 구현에서 SHA-3 초기화 검증이 누락되어, 로컬 공격자가 AF_ALG 기반 해시 인터페이스를 통해 특정 시스템 호출 시퀀스를 실행하여 커널 스택 버퍼 오버플로우를 유발할 수 있는 취약점입니다.
💡 쉬운 설명
Linux 시스템의 암호화 기능에서 보안 검사 누락으로 로컬 접근 권한이 있는 공격자가 커널을 충돌시키거나 제어할 수 있습니다. 로컬 접근 없이는 악용 불가능합니다.
🇺🇸 원문 (English)
The HMAC implementation (crypto/hmac.c) in the Linux kernel before 4.14.8 does not validate that the underlying cryptographic hash algorithm is unkeyed, allowing a local attacker able to use the AF_ALG-based hash interface (CONFIG_CRYPTO_USER_API_HASH) and the SHA-3 hash algorithm (CONFIG_CRYPTO_SHA3) to cause a kernel stack buffer overflow by executing a crafted sequence of system calls that encounter a missing SHA-3 initialization.
📍 영향받는 시스템
Linux kernel < 4.14.8 (CONFIG_CRYPTO_USER_API_HASH=y, CONFIG_CRYPTO_SHA3=y 활성화된 시스템)
⚔️ 공격 벡터
로컬 공격자가 AF_ALG 기반 해시 인터페이스의 SHA-3 알고리즘으로 초기화 미실패 조건을 트리거하는 시스템 호출 실행
🛡️ 대응 방법
Linux 커널을 4.14.8 이상으로 업그레이드하거나 CONFIG_CRYPTO_USER_API_HASH/CONFIG_CRYPTO_SHA3을 비활성화
🔧 검증 코드
0 출력 시 안전(설정 비활성화), 1 이상 출력 시 취약 설정 활성화. uname -r로 커널 버전 4.14.8 이상 확인
grep -E 'CONFIG_CRYPTO_USER_API_HASH|CONFIG_CRYPTO_SHA3' /boot/config-$(uname -r) 2>/dev/null | grep =y | wc -l