🇰🇷 한글 설명
리눅스 커널의 SMC TCP ULP 지원 기능이 VFS 불변성 원칙을 위반하여 구조체를 부적절하게 수정함으로써 시스템 불안정 및 Use-After-Free 취약점을 유발합니다. 이 결함으로 인해 악의적인 공격자가 커널 메모리 손상과 시스템 충돌을 유도할 수 있습니다.
💡 쉬운 설명
리눅스 커널의 특정 네트워크 기능이 시스템의 기본 규칙을 깨뜨려 메모리 오류를 일으키는 치명적인 결함이 발견되었습니다. 이 결함을 악용하면 해커가 시스템을 강제로 충돌시키거나 불안정하게 만들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Revert "net/smc: Introduce TCP ULP support"
This reverts commit d7cd421da9da2cc7b4d25b8537f66db5c8331c40.
As reported by Al Viro, the TCP ULP support for SMC is fundamentally
broken. The implementation attempts to convert an active TCP socket
into an SMC socket by modifying the underlying `struct file`, dentry,
and inode in-place, which violates core VFS invariants that assume
these structures are immutable for an open file, creating a risk of
use after free errors and general system instability.
Given the severity of this design flaw and the fact that cleaner
alternatives (e.g., LD_PRELOAD, BPF) exist for legacy application
transparency, the correct course of action is to remove this feature
entirely.
📍 영향받는 시스템
Linux kernel (commit d7cd421da9da2cc7b4d25b8537f66db5c8331c40 포함)
⚔️ 공격 벡터
로컬 또는 원격에서 커널 메모리 조작을 유도하여 Use-After-Free 상태 생성
🛡️ 대응 방법
해당 커널 기능 제거 또는 커널 업데이트를 통해 revert된 버전으로 패치
🔧 검증 코드
명령어 실행 결과 'Vulnerable'이 출력되면 취약한 커널 코드가 포함되어 있음을 의미하며, 'Patched'이면 해당 결함이 제거된 상태입니다.
git log --oneline | grep -q 'd7cd421da9da2cc7b4d25b8537f66db5c8331c40' && echo 'Vulnerable' || echo 'Patched'