[1-day Research] CVE-2022-1015 : nf_tables의 OOB 취약점을 이용한 리눅스 권한 상승 공격
2024. 1. 11. 00:27ㆍResearching
1. Overview
2. Component of the nf_tables
2-1. Netlink
2-2. table
2-3. chain
2-4. rule / expr
2-4-1. payload
2-4-2. set_payload
2-4-3. cmp
3. How nf_tables works
3-1. nft_regs
3-2. nft_do_chain
4. Vulnerability
5. Exploit
4-1. Preparation
4-2. Leak Kernel Data
4-3. Kernel ROP
4-3-1. __do_softirq Gadget
4-3-2. modprobe_path
6. Finish
- 1. Overview
nf_tables는 Linux 커널의 하위 시스템 Netfilter에서 동작하는 기능입니다. Netfilter는 Linux OS에서 패킷 필터링과 패킷 처리를 관리하는 핵심 컴포넌트이며, nf_tables는 이러한 Netfilter에서 동작하는 규칙 기반 패킷 필터링 시스템입니다.
CVE-2022-1015는 nf_tables에서 발생한 Stack OOB 취약점입니다. nf_tables 기능을 통해 네트워크 패킷에 대한 read / write를 수행하는 표현식을 추가할 때, read / write에 대한 범위 검증 과정에서 Intager Overflow가 발생하기 때문에 공격자는 취약점을 발생시키는 표현식을 추가하여 커널 Stack의 정보를 패킷 데이터에 쓰거나 패킷 데이터를 커널 스택에 쓸 수 있습니다.
nf_tables 기능에 접근하기 위해서는 CAP_NET_ADMIN 권한이 필요합니다. 따라서 CVE-2022-1015를 트리거하기 위해서는 유저가 namespace 내에 격리되어 있거나, 스스로 namespace를 생성할 수 권한이 있어야 합니다. 일반적으로 대부분의 배포판 Linux에서는 kconfig의 CONFIG_USER_NS가 활성화되어 있어서, 일반 유저 권한에서 CVE-2022-1015를 통해 권한 상승 공격을 할 수 있습니다. 취약점 분석을 위해 Linux를 빌드할 경우에는 kconfig의 CONFIG_USER_NS를 활성화 해야합니다.
- Full Content
'Researching' 카테고리의 다른 글
[1-day Research] CVE-2022-32250 : nf_tables의 Use After Free 취약점을 이용한 리눅스 권한 상승 공격 (0) | 2024.05.22 |
---|