🇰🇷 한글 설명
Linux 커널의 tpm2-sessions 구성 요소에서 tpm_buf_destroy() 함수가 누락되어 메모리 누수가 발생하는 취약점입니다. tpm2_read_public() 함수 실행 중 특정 오류 경로와 성공 경로에서 할당된 페이지 메모리가 해제되지 않고 남게 됩니다.
💡 쉬운 설명
컴퓨터가 작업을 마친 후 사용했던 메모리를 제대로 돌려주지 않아 메모리가 조금씩 낭비되는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tpm2-sessions: Fix missing tpm_buf_destroy() in tpm2_read_public()
tpm2_read_public() calls tpm_buf_init() but fails to call
tpm_buf_destroy() on two exit paths, leaking a page allocation:
1. When name_size() returns an error (unrecognized hash algorithm),
the function returns directly without destroying the buffer.
2. On the success path, the buffer is never destroyed before
returning.
All other error paths in the function correctly call
tpm_buf_destroy() before returning.
Fix both by adding the missing tpm_buf_destroy() calls.
📍 영향받는 시스템
Linux Kernel (tpm2-sessions 모듈 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 TPM2 명령을 반복적으로 호출하여 시스템 메모리 고갈 유도
🛡️ 대응 방법
tpm_buf_destroy() 호출이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인