🇰🇷 한글 설명
Linux 커널의 serial/caif 드라이버에서 tty->link 참조 카운트가 올바르게 관리되지 않아 메모리 사용 후 해제(use-after-free) 취약점이 발생합니다. ldisc_open()과 ser_release()에서 kref를 적절히 획득/해제함으로써 tty 링크의 수명을 보장하고 UAF를 방지합니다.
💡 쉬운 설명
리눅스 커널의 일부 드라이버가 메모리를 해제한 후에도 그 메모리에 접근하려고 시도하는 버그입니다. 이를 통해 공격자가 커널 정보를 읽거나 시스템을 충돌시킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
serial: caif: hold tty->link reference in ldisc_open and ser_release
A reproducer triggers a KASAN slab-use-after-free in pty_write_room()
when caif_serial's TX path calls tty_write_room(). The faulting access
is on tty->link->port.
Hold an extra kref on tty->link for the lifetime of the caif_serial line
discipline: get it in ldisc_open() and drop it in ser_release(), and
also drop it on the ldisc_open() error path.
With this change applied, the reproducer no longer triggers the UAF in
my testing.
📍 영향받는 시스템
Linux 커널 5.10 이상의 serial/caif 드라이버가 포함된 시스템 (특히 PTY 또는 직렬 포트 사용 환경)
⚔️ 공격 벡터
로컬 공격자가 caif_serial 라인 규율 사용 중 tty_write_room() 호출을 트리거하여 해제된 메모리에 접근
🛡️ 대응 방법
Linux 커널을 CVE-2026-43458 패치가 적용된 버전 이상으로 업데이트
🔧 검증 코드
커널 버전이 5.10 이상이면 패치 적용 여부를 커널 로그(dmesg) 또는 패치 히스토리로 확인해야 하며, 5.10 미만이면 최소한 업그레이드가 필요합니다.
uname -r | grep -E '5\.(10|1[1-9]|[2-9][0-9]|[0-9]{3,})' && echo 'Check kernel version and install patch' || echo 'Older kernel'