🔍 CVE-2026-23255

5.5
CVSS Score
MEDIUM
2026-03-18
2026-11-05 22:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 /proc/net/ptype 파일 처리에서 RCU 동기화 부족으로 인해 packet_type 구조체가 제거될 때 장치 포인터에 대한 보호 없이 접근되는 문제입니다. ptype_seq_show()와 ptype_seq_next()에 적절한 메모리 배리어와 READ_ONCE()를 추가하여 동시성 오류를 해결합니다.

💡 쉬운 설명

Linux의 네트워크 정보를 읽을 때 다른 프로세스가 동시에 정보를 수정하면 프로그램이 멈추거나 충돌할 수 있는 문제입니다. 안전한 방식으로 읽고 쓰도록 커널 코드를 수정했습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: add proper RCU protection to /proc/net/ptype Yin Fengwei reported an RCU stall in ptype_seq_show() and provided a patch. Real issue is that ptype_seq_next() and ptype_seq_show() violate RCU rules. ptype_seq_show() runs under rcu_read_lock(), and reads pt->dev to get device name without any barrier. At the same time, concurrent writers can remove a packet_type structure (which is correctly freed after an RCU grace period) and clear pt->dev without an RCU grace period. Define ptype_iter_state to carry a dev pointer along seq_net_private: struct ptype_iter_state { struct seq_net_private p; struct net_device *dev; // added in this patch }; We need to record the device pointer in ptype_get_idx() and ptype_seq_next() so that ptype_seq_show() is safe against concurrent pt->dev changes. We also need to add full RCU protection in ptype_seq_next(). (Missing READ_ONCE() when reading list.next values) Many thanks to Dong Chenchen for providing a repro.

📍 영향받는 시스템

Linux kernel (모든 배포판, 정확한 버전은 배포판별 보안 패치 일정에 따라 상이)

⚔️ 공격 벡터

로컬 사용자가 /proc/net/ptype을 반복 접근하면서 동시에 네트워크 모듈을 조작하여 RCU stall 또는 메모리 접근 오류 유발

🛡️ 대응 방법

영향받는 Linux 배포판의 최신 커널 보안 업데이트를 적용하세요

🔧 검증 코드

실행 중인 커널 버전을 확인하고, 배포판의 보안 업데이트 공지에서 해당 CVE 패치 적용 버전을 확인하여 비교하세요

Shell / Script
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