🔍 CVE-2026-90222

0.0
CVSS Score
UNKNOWN
2026-09-17
2026-10-19 09:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 pn533 NFC 드라이버에서 send_frame 호출 중 요청 skb의 참조를 유지하지 않아 발생하는 취약점입니다. I2C 전송 과정에서 명령 완료 처리가 전송 작업보다 먼저 발생할 경우, 이미 해제된 skb를 참조하게 되어 메모리 오류가 발생할 수 있습니다.

💡 쉬운 설명

NFC 통신을 처리하는 과정에서 데이터가 담긴 메모리 상자가 너무 빨리 사라져서 시스템이 오류를 일으킬 수 있는 문제입니다. 데이터가 안전하게 전달될 때까지 메모리 상자를 붙잡아두지 않아 발생하는 충돌 현상입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: hold a reference to the request skb during send_frame __pn533_send_async() publishes the command and then calls dev->phy_ops->send_frame(). Once dev->cmd is set, an incoming frame can be matched to this command: the I2C threaded IRQ runs pn533_recv_frame(), which queues cmd_complete_work, and pn533_send_async_complete() frees cmd->req with consume_skb(). On the I2C transport, pn533_i2c_send_frame() still dereferences the same skb after i2c_master_send() returns, so a completion that races the send can free the skb while the transport is still using it. The request skb is owned by the command object and may be freed by command completion at any time after dev->cmd is published, so the transport send path must not assume it stays alive. Hold a temporary reference to the request skb across the send_frame() call so the transport always sees a live skb even if completion races the send. Add a pn533_send_cmd_frame() helper and use it from all three send paths.

📍 영향받는 시스템

Linux kernel (pn533 NFC driver)

⚔️ 공격 벡터

NFC 통신 중 특정 타이밍에 명령 완료를 유도하여 메모리 참조 오류(Use-After-Free)를 유발하는 레이스 컨디션 공격

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 pn533_send_cmd_frame() 헬퍼 함수가 적용된 패치를 적용하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel