🇰🇷 한글 설명
Linux 커널의 ktls 구성 요소에서 bpf_msg_pop_data()를 사용할 때 데이터 손상이 발생하는 취약점입니다. 평문 데이터의 길이가 소켓 정책에 의해 줄어들 경우 암호문 길이를 재계산하지 못해, 초기화되지 않은 데이터가 암호화된 패킷 뒤에 추가되어 전송됩니다. 이로 인해 수신 측에서 TLS 레코드를 파싱할 때 오류가 발생할 수 있습니다.
💡 쉬운 설명
데이터를 암호화해서 보낼 때 실제 데이터보다 더 긴 공간을 할당하여, 쓰레기 데이터가 함께 전송되는 문제입니다. 이 때문에 데이터를 받는 쪽에서 통신 오류가 발생하거나 데이터가 깨질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bpf, ktls: Fix data corruption when using bpf_msg_pop_data() in ktls
When sending plaintext data, we initially calculated the corresponding
ciphertext length. However, if we later reduced the plaintext data length
via socket policy, we failed to recalculate the ciphertext length.
This results in transmitting buffers containing uninitialized data during
ciphertext transmission.
This causes uninitialized bytes to be appended after a complete
"Application Data" packet, leading to errors on the receiving end when
parsing TLS record.
📍 영향받는 시스템
bpf 및 ktls 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
네트워크 소켓 정책을 통해 평문 길이를 조작하여 초기화되지 않은 메모리 데이터를 전송 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인