關於 QNAP NAS 新的 CVE-2026-31431(copy fail)漏洞

我是一名重度使用容器的用戶,已經透過 Container Station 部署了好幾個容器。由於這個新漏洞會影響到容器環境的安全性,請問 QUTS/QTS 是否也受到這個漏洞的影響?

如果有,QNAP 是否有計劃儘快在主流的 QTS 5.2/QUTS 5.2/QUTS 5.3/QUTS 6.0 beta 版本修復這個問題?還是我應該先關閉所有容器來避免進一步的風險?

這取決於你的風險承受度。有已知的漏洞存在,並不代表一定會有人利用這個漏洞攻擊你的機器。

如果你擔心風險,我建議把所有對外網路開放的容器(container)都從網路上移除。

如果你的 NAS(網路儲存裝置)完全在防火牆之後,就不用擔心。

@Sam25

感謝您提出這個議題。

QNAP 非常重視資訊安全。針對 CVE-2026-31431/「Copy Fail」問題,QNAP 已在此處發佈官方安全通告:

https://www.qnap.com/en/security-advisory/qsa-26-16

該通告提供了官方資訊,包括受影響的範圍、不受影響的產品,以及建議的安全措施。我們建議您將此通告作為主要資訊來源參閱。

為降低一般風險,使用者亦可參考通告中列出的安全措施,例如限制非管理員用戶的 shell 或終端機存取權限、僅使用信任的容器映像、停用不必要的服務,以及避免將 NAS 直接暴露於網際網路上。

再次感謝您協助將此事帶進社群討論。

剛剛用這個 PoC 測試了我的設備:GitHub - rootsecdev/cve_2026_31431: Exploit POC for CVE_2026_31431 · GitHub

我可以確認安全公告中的資訊:這個問題唯一受影響的 QNAP NAS 是 ARM64 CPU 的型號(TS-216G,運行 QTS 5.2.9.3451)。

[/share/Public] # python3 test_cve_2026_31431.py; echo $?
[*] CVE-2026-31431 檢測工具  kernel=5.10.60-qnap  arch=aarch64
[i] Kernel 5.10.60-qnap 早於受影響的 6.12/6.17/6.18 版本;即使滿足前置條件,也可能無法觸發。
[+] AF_ALG + 'authencesn(hmac(sha256),cbc(aes))' 可載入 - 已滿足前置條件。
[!] 對 CVE-2026-31431 有漏洞。
[!]   標記 b'PWND'(AAD seqno_lo)落在 offset 0 的 spliced page-cache 分頁。
[!]   周邊位元組:50574e444641494c2d53454e  (b'PWNDFAIL-SEN')
[!] 請立即套用上游修補或禁止 algif_aead。
2

其他架構都沒事。 :+1:

編輯: 這是 x86-64 測試結果(TS-251+ 運行 QTS 5.2.9.3451):

[/share/Public] # python3 test_cve_2026_31431.py; echo $?
[*] CVE-2026-31431 檢測工具  kernel=5.10.60-qnap  arch=x86_64
[i] Kernel 5.10.60-qnap 早於受影響的 6.12/6.17/6.18 版本;即使滿足前置條件,也可能無法觸發。
[+] 前置條件未滿足(AF_ALG socket family 無法使用(協定不支援該位址族))。無漏洞。
0

我覺得很有趣,居然只有 QNAP 的 Arm 機型會受影響。x86 機型應該是用不同的核心吧。其實,不久前好像有人還在抱怨他們的 QNAP 跑的是「舊」的 Linux 核心?:grinning_face_with_smiling_eyes:

我認為這個特定的漏洞取決於核心在編譯時設置的功能。猜測 QNAP 編譯 aarch64 核心時所選的選項跟其他 NAS 架構的不一樣。

不過我也可能搞錯了,畢竟我不是核心專家。:nerd_face:

從設計上來說,ARM 和 x86_64 必須是不同的核心。

此外,ARM 機型通常依賴 SoC 廠商提供的開發工具鏈(toolchain),而且可能是以 SoC 廠商客製化的 Linux 為基礎,而不是像 x86 上的通用 Arch 發行版。我們仍然可以存取所有的核心原始碼,但只要系統運作正常,我們就不會隨意更動一切。這也是為什麼結果可能會不同的原因。

一位德國論壇的用戶推測,QNAP 沒有將某個模組編譯進 x86 NAS 的核心版本裡

**後續:**在我的 ARM64 NAS 上檢查了新發布的 QTS 5.2.10.3568 是否有這個漏洞:

[/share/Public] # python3 test_cve_2026_31431.py; echo $?
[*] CVE-2026-31431 檢測器  kernel=5.10.60-qnap  arch=aarch64
[i] Kernel 5.10.60-qnap 比受影響的 6.12/6.17/6.18 版本早;即使先決條件符合,觸發也可能不適用。
[+] 無先決條件('authencesn(hmac(sha256),cbc(aes))' 無法實例化(找不到此檔案或目錄))。不受影響。
0

好消息。:nerd_face: