CVE-2026-53264
net/sched: act_api: 액션 수명주기에 지연 해제와 함께 RCU 사용
- 게시됨
- 2026. 6. 25.
- 업데이트됨
- 2026. 10. 15.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 8. 7.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 15.0%
- 모델 날짜
- 2026. 10. 15.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Linux 커널에서 다음 취약점이 해결되었습니다: net/sched: act_api: 액션 수명 주기에 RCU와 지연 해제 사용 NEWTFILTER와 DELFILTER가 동시에 실행되면 연관된 액션과의 경합 조건(race condition)이 발생할 수 있습니다. CPU0에서 NEWTFILTER를 실행하고 CPU1에서 DELFILTER를 실행하는 상황을 예로 들어 설명하겠습니다: 0: mutex_lock() <-- idr 잠금을 보유 0: rcu_read_lock() 0: p = idr_find(idr, index) <-- 액션 p는 유효함 (RCU가 IDR을 보호) 0: mutex_unlock() <-- idr 잠금 해제 1: refcount_dec_and_mutex_lock() <-- refcnt 1->0, mutex 보유 1: idr_remove(idr, index) <-- 액션이 IDR에서 제거됨 1: mutex_unlock() <-- mutex 해제로 액션 삭제 가능 1: tcf_action_cleanup(p); kfree(p) <-- p를 즉시 해제, 지연 없음 0: refcount_inc_not_zero(&p->tcfa_refcnt) <-- 문제 발생, UAF p가 해제된 메모리를 가리킴 이 패치는 tc_action에 struct rcu_head를 추가하여 지연(deferral)에 사용하고, 삭제 경로에 call_rcu()를 도입하여 최종 kfree()를 지연시킴으로써 NEWTFILTER와 DELFILTER 간의 경합 조건을 수정합니다. 참고: 이는 커밋 d7fb60b9cafb ("net_sched: get rid of tcfa_rcu")의 되돌림이면서도 kfree_rcu()를 직접 사용하도록 현대화/단순화한 것입니다. 복원된 새 코드 경로를 설명하겠습니다: 0: rcu_read_lock() 1: refcount_dec_and_mutex_lock() <-- refcnt 1->0, mutex 보유 1: idr_remove(idr, index) 1: mutex_unlock() 1: call_rcu(&p->tcfa_rcu, tcf_action_rcu_free) <-- 유예 기간(grace period) 후 kfree 지연 0: p = idr_find(idr, index) 0: refcount_inc_not_zero(&p->tcfa_refcnt) <-- 실패, refcnt가 이미 0 1: rcu_read_unlock() <-- 해제하여 유예 기간 후 해제 실행 가능 CPU1이 idr_remove()를 호출한 후에는 객체가 더 이상 IDR을 통해 접근할 수 없습니다. CPU0의 이후 idr_find()는 NULL을 반환하며, 설령 오래된 포인터를 계속 보유하고 있더라도 즉각적인 kfree()는 이제 RCU 유예 기간이 끝날 때까지 지연되므로 UAF가 발생할 수 없습니다.
소스
CVE-2026-53264 - 초안
- CVEPoC
STAR Labs 팀이 발견하거나 다른 이들이 발견한 다양한 CVE에 대해 작성한 개념 증명 익스플로잇 스크립트 모음입니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.