[1-day Research] CVE-2022-1015 : nf_tables의 OOB 취약점을 이용한 리눅스 권한 상승 공격

2024. 1. 11. 00:27Researching

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

https://velog.io/@0range1337/1-day-Research-CVE-2022-1015-nftables%EC%9D%98-OOB-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9C%BC%EB%A1%9C-%EC%9D%B8%ED%95%9C-%EB%A6%AC%EB%88%85%EC%8A%A4-%EA%B6%8C%ED%95%9C-%EC%83%81%EC%8A%B9-%EA%B3%B5%EA%B2%A9

 

[1-day Research] CVE-2022-1015 : nf_tables의 OOB 취약점을 이용한 리눅스 권한 상승 공격

nftables는 Linux 커널의 하위 시스템 Netfilter에서 동작하는 기능입니다. Netfilter는 Linux OS에서 패킷 필터링과 패킷 처리를 관리하는 핵심 컴포넌트이며, nftables는 이러한 Netfilter에서 동작하는 규칙

velog.io