🔍 CVE-2026-64010

8.8
CVSS Score
HIGH
2026-07-19
2026-10-13 13:57
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFC LLCP 연결 상태 머신에서 nfc_llcp_recv_cc() 함수가 소켓 락을 보유하지 않은 상태로 소켓을 이동시켜 발생하는 Use-After-Free 취약점입니다. 연결 수락 패킷(CC) 처리와 소켓 해제 작업이 동시에 발생할 경우, 이미 해제된 소켓 객체를 활성 리스트에 연결하여 메모리 오류를 유발할 수 있습니다.

💡 쉬운 설명

NFC 통신을 처리하는 과정에서 데이터 처리와 연결 종료가 동시에 일어나면, 이미 사라진 메모리 공간을 다시 사용하려고 시도하는 오류가 발생합니다. 이로 인해 시스템이 충돌하거나 보안 공격에 악용될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc() A race condition exists in the NFC LLCP connection state machine where the connection acceptance packet (CC) can be processed concurrently with socket release. This can lead to a use-after-free of the socket object. When nfc_llcp_recv_cc() moves the socket from the connecting_sockets list to the sockets list, it does so without holding the socket lock. If llcp_sock_release() is executing concurrently, it might have already unlinked the socket and dropped its references, which can result in nfc_llcp_recv_cc() linking a freed socket into the live list. Fix this by holding lock_sock() during the state transition and list movement in nfc_llcp_recv_cc(). After acquiring the lock, check if the socket is still hashed to ensure it hasn't already been unlinked and marked for destruction by the release path. This aligns the locking pattern with recv_hdlc() and recv_disc().

📍 영향받는 시스템

NFC LLCP 기능을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

NFC 통신 중 특정 타이밍에 연결 수락 패킷을 전송하여 소켓 해제 프로세스와의 경쟁 상태(Race Condition) 유도

🛡️ 대응 방법

nfc_llcp_recv_cc() 함수 내에서 상태 전환 및 리스트 이동 시 lock_sock()을 사용하여 소켓 락을 획득하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel