🔍 CVE-2026-43098

5.5
CVSS Score
MEDIUM
2026-05-06
2026-06-01 17:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFC s3fwrn5 UART 드라이버에서 수신 버퍼 할당이 실패했을 때 이미 소비된 바이트를 정상으로 반환하면서 버퍼를 NULL로 남겨두어 다음 skb_put_u8() 호출 시 NULL 역참조 오류를 유발하는 메모리 관리 취약점입니다. 고정은 수신 데이터를 바이트 단위로 처리하기 전에 버퍼를 선할당하는 방식으로 변경합니다.

💡 쉬운 설명

Linux 커널의 NFC 칩 드라이버가 메모리 할당에 실패했을 때 데이터를 제대로 정리하지 못해 시스템이 충돌할 수 있는 결함입니다. NFC 기기를 사용하는 임베디드 시스템에서 국지적 서비스 거부 공격이 가능합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nfc: s3fwrn5: allocate rx skb before consuming bytes s3fwrn82_uart_read() reports the number of accepted bytes to the serdev core. The current code consumes bytes into recv_skb and may already deliver a complete frame before allocating a fresh receive buffer. If that alloc_skb() fails, the callback returns 0 even though it has already consumed bytes, and it leaves recv_skb as NULL for the next receive callback. That breaks the receive_buf() accounting contract and can also lead to a NULL dereference on the next skb_put_u8(). Allocate the receive skb lazily before consuming the next byte instead. If allocation fails, return the number of bytes already accepted.

📍 영향받는 시스템

Linux kernel with s3fwrn5/s3fwrn82 NFC UART driver (embedded/ARM systems with NFC capability)

⚔️ 공격 벡터

Local exploitation via malformed NFC UART communication or device triggering buffer allocation failure during receive callback

🛡️ 대응 방법

Update Linux kernel to patched version or apply backport for s3fwrn82_uart_read() function lazy allocation fix

🔧 검증 코드

s3fwrn5 드라이버 존재 여부와 커널 버전을 확인하여 패치 적용 여부를 판단합니다. 드라이버가 없거나 최신 커널 버전이면 안전합니다.

Shell / Script
grep -r 's3fwrn5' /lib/modules/$(uname -r)/ 2>/dev/null | head -1 && uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel