요약
Linux 커널의 Netfilter 기능에서 권한 상승 보안 취약점이 발견되었습니다. 이 취약점은 nft_verdict_init() 함수에서 발생하며, hook verdict 내에서 긍정 값을 drop error로 허용하여 nf_hook_slow() 함수가 NF_DROP을 NF_ACCEPT와 유사한 drop error로 발행할 때 이중 해제(double-free) 취약점을 초래할 수 있습니다. 이를 통해 로컬 사용자가 권한 상승을 달성할 수 있습니다.
영향 받는 버전
- Red Hat Enterprise Linux 7 (kernel-rt, kernel)
- Red Hat Enterprise Linux 8 (kernel-rt, kernel)
- Red Hat Enterprise Linux 9 (kernel-rt, kernel)
조치 방법
이 취약점은 Red Hat Enterprise Linux 9.4 버전에서 수정될 예정입니다. 현재로서는 다음과 같은 방법으로 취약점을 완화할 수 있습니다.
1. 커널 업데이트
취약점을 완전히 해결하려면 최신 보안 패치가 포함된 커널로 업데이트하는 것이 가장 효과적입니다. Red Hat Enterprise Linux의 최신 커널 업데이트를 적용하여 문제를 해결할 수 있습니다.
- RHEL7 kernel-3.10.0-1160.114.2.el7.x86_64.rpm 이상
- RHEL8 kernel-4.18.0-513.24.1.el8_9.x86_64.rpm 이상
- RHEL9 kernel-5.14.0-427.13.1.el9_4.x86_64.rpm 이상
인터넷 진흥원에서 제시한 커널 해결 버전은 6버전이라고 되어있는데 레드햇은 현재까지 6버전대의 커널이 제공되지 않습니다. 따라서 위에 패치된 버전을 설치하여야 합니다.
완화 방법 (커널 업데이트가 어려운 경우)
1. Netfilter (nf_tables) 커널 모듈 비활성화
커널 업데이트가 어려운 경우, Netfilter (nf_tables) 커널 모듈을 비활성화하여 취약점을 완화할 수 있습니다. 그러나 이 방법은 Netfilter를 사용하지 않는 환경 즉 리눅스 방화벽(firewalld)을 안 쓰는 경우만 해당됩니다. 커널 모듈을 블랙리스트 하는 방법에 대한 지침은 커널 모듈 비활성화를 참조하십시오.
2. 사용자 네임스페이스 비활성화 (컨테이너 배포 환경에서는 사용 못함)
비컨테이너화된 Red Hat Enterprise Linux 배포에서 사용자 네임스페이스를 비활성화합니다.
# echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
# sysctl -p /etc/sysctl.d/userns.conf