針對 2.6 內核 mmap_min_addr 缺陷導致的本地提權漏洞(影響 RHEL/CentOS 4/5、Debian/Ubuntu 等),提供多層次緩解策略並記錄實戰經驗。
編輯 /etc/modprobe.conf,將易受攻擊協議模塊指向 /bin/true:
install pppox /bin/true
install bluetooth /bin/true
install appletalk /bin/true
install ipx /bin/true
install sctp /bin/true
執行 /sbin/lsmod | grep -e ppp -e blue -e app -e ipx -e sct;若有輸出需重啟生效。實測提示:此法不一定有效,建議優先升級內核。
cat > /etc/modprobe.d/mitigate-2692.conf << EOM
install ppp_generic /bin/true
install pppoe /bin/true
install pppox /bin/true
install slhc /bin/true
install bluetooth /bin/true
install ipv6 /bin/true
install irda /bin/true
install ax25 /bin/true
install x25 /bin/true
install ipx /bin/true
install appletalk /bin/true
EOM
/etc/init.d/bluez-utils stop
sysctl -w vm.mmap_min_addr=1000
mmap_min_addr)操作簡單、業務影響最小,作為臨時緩解較可靠。vm.mmap_min_addr 緊密相關;SELinux 啟用時甚至不需 pulseaudio 輔助即可映射零頁。漏洞詳情參考:Full Disclosure、Red Hat Bugzilla。