🇰🇷 한글 설명
Linux 커널의 TLS 네트워크 스택에서 평문 산란 리스트(Scatterlist) 처리 중 체인 뒤에 또 다른 체인이 생성되는 취약점이 발견되었습니다. 이로 인해 sg_next 반복자가 연속된 체인 링크를 재귀적으로 해결하지 못해 암호화 라이브러리에 잘못된 입력이 전달될 수 있습니다.
💡 쉬운 설명
데이터를 묶어서 전달하는 과정에서 연결 고리가 잘못 만들어져 시스템이 데이터를 제대로 처리하지 못하는 문제입니다. 이 오류를 이용하면 네트워크 보안 통신 과정에서 예기치 않은 동작이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: tls: prevent chain-after-chain in plain text SG
Sashiko points out that if end = 0 (start != 0) the current
code will create a chain link to content type right after
the wrap link:
This would create a chain where the wrap link points directly
to another chain link. The scatterlist API sg_next iterator
does not recursively resolve consecutive chain links.
meaning this is illegal input to crypto.
The wrapping link is unnecessary if end = 0. end is the entry after
the last one used so end = 0 means there's nothing pushed after
the wrap:
end start i
v v v
[ ]...[ ][ d ][ d ][ d ][ d ][rsv for wrap]
Skip the wrapping in this case.
TLS 1.3 can use the "wrapping slot" for it's chaining if end = 0.
This avoids the chain-after-chain.
Move the wrap chaining before marking END and chaining off content
type, that feels like more logical ordering to me, but should not
matter from functional perspective.
📍 영향받는 시스템
Linux Kernel (TLS 관련 net: tls 모듈 사용 시스템)
⚔️ 공격 벡터
조작된 TLS 패킷을 전송하여 커널의 TLS 산란 리스트 처리 로직을 트리거함
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.