QNAP NASの新しい脆弱性「CVE-2026-31431(copy fail)」について

私はヘビーなコンテナユーザーで、Container Stationを通じて複数のコンテナをデプロイしています。今回の新しい脆弱性がコンテナ環境のセキュリティを損なうとのことですが、QUTS/QTSはこの脆弱性の影響を受けていますか?

もし影響を受けている場合、QNAPはメインストリームのQTS 5.2 / QUTS 5.2 / QUTS 5.3 / QUTS 6.0ベータブランチで、できるだけ早くこの脆弱性を修正する予定はありますか?それとも、さらなるリスクを防ぐためにすべてのコンテナをシャットダウンした方がいいのでしょうか。

それはあなたのリスク許容度によります。脆弱性が存在しているからといって、必ずしも誰かがあなたのマシンでその脆弱性を悪用するとは限りません。

リスクが気になる場合は、インターネットに公開されているすべてのコンテナをインターネットから遮断することをおすすめします。

NASが完全にファイアウォールの内側にある場合、心配する必要はありません。

@Sam25 さん、

このたびはこの件についてご連絡いただき、ありがとうございます。

QNAPは情報セキュリティを重要視しています。CVE-2026-31431/「Copy Fail」について、QNAPは公式のセキュリティアドバイザリを公開しています:

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

このアドバイザリには、影響範囲や影響を受けない製品、推奨されるセキュリティ対策など、公式情報が掲載されています。詳細は必ずこちらのアドバイザリをご確認ください。

一般的なリスク低減のために、非管理者ユーザーのシェルやターミナルアクセスを制限すること、信頼できるコンテナイメージのみを使用すること、不必要なサービスを無効化すること、およびNASをインターネットへ直接公開しないことなど、アドバイザリに記載のセキュリティ対策も併せてご確認ください。

この問題をコミュニティに周知してくださり、重ねて御礼申し上げます。

こちらのPoCで自分のデバイスをテストしてみました: GitHub - rootsecdev/cve_2026_31431: Exploit POC for CVE_2026_31431 · GitHub

上記の通り確認できました:私がこの問題の影響を受けた唯一のQNAP NASはARM64 CPU(QTS 5.2.9.3451を搭載したTS-216G)です。

他のアーキテクチャは問題ありませんでした。:+1:

[/share/Public] # python3 test_cve_2026_31431.py; echo $?
[*] CVE-2026-31431 detector  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) が spliced page-cache page のオフセット0に到達しています。
[!]   周囲のバイト: 50574e444641494c2d53454e  (b'PWNDFAIL-SEN')
[!] すぐにupstream fixを適用するかalgif_aeadをブロックしてください。
2

QNAPのArmモデルだけが影響を受けているのはとても興味深いですね。x86モデルは別のカーネルを使っているに違いありません。実際、少し前に「自分のQNAPが“古い”Linuxカーネルで動いている」と誰かが文句を言っていませんでしたか? :smiley:

この脆弱性は、カーネルのコンパイル時に設定された機能に依存していると思います。QNAPはaarch64カーネルを他のNASアーキテクチャとは異なるオプションでコンパイルしているのかもしれません。

でも間違っているかもしれません。私はカーネルの専門家じゃないので。:nerd_face:

設計上、ARMとx86_64は異なるカーネルでなければなりません。

さらに、ARMモデルはSoCベンダーのツールチェーンに依存していて、x86のような汎用ディストリビューション(Arch)ではなく、SoCベンダー製のLinuxをベースにしている場合があります。カーネルのコード全体にはアクセスできますが、動作している限り、すべてを変更することはありません。だからこそ、結果が異なる場合もあるのです。

ドイツ語フォーラムのユーザーが、QNAPがx86 NASのカーネルバージョンに特定のモジュールを組み込んでいないのではないかと推測しています