vHoge

VMwareのアレコレ備忘録。CLIでがんばるネタ多め。

EOGS だけど NSX-V で深刻なセキュリティ脆弱性が報告されている件

TL;DR

  • NSX-V でヤバいセキュリティ脆弱性が報告された
  • NSX-V は EOGS だけど、例外的に対応パッチが出た
  • セキュリティ脆弱性ワークアラウンド無し、パッチ適用によるアップグレードのみ
  • NSX-V はそもそも EOGS なので、脆弱性にも該当していない NSX-T への移行を進めましょう

事の発端:VMSA-2022-2027

10月25日に発行された下記の VMSA
www.vmware.com

  1. Impacted Products
    VMware Cloud Foundation (Cloud Foundation)
    ~~~
    Description
    VMware Cloud Foundation contains a remote code execution vulnerability via XStream open source library. VMware has evaluated the severity of this issue to be in the Critical severity range with a maximum CVSSv3 base score of 9.8.

VMware Cloud Foundation にて、XStream のライブラリを介したリモートコード実行の脆弱性が含まれています。 VMware はこの問題の重要度を CVSSv3 ベースで 9.8Critical レベルとして評価しました。

え えらいことや……せ 戦争じゃ………

ちなみに Xtream とはオブジェクトと XML 間でシリアライズ/デシリアライズを行う Java のライブラリらしく、Ver 1.4.17 以下においてはのリモートコード実行の脆弱性に該当している可能性があり、その情報が CVE-2021-39144 として報告されている。
※ ライブラリの使い方によっては非該当になるらしい?
x-stream.github.io

さて、VCF か…と思って続きを見てみると

Known Attack Vectors

Due to an unauthenticated endpoint that leverages XStream for input serialization in VMware Cloud Foundation (NSX-V), a malicious actor can get remote code execution in the context of 'root' on the appliance.

ん?(NSX-V)
さらに下、Response Matrix… こ、これは… VCF と称して実体は NSX-V の脆弱性では…

実際、貼られている KB を追っていくと NSX-V 6.4.14 へのパッチ適用の話に。
kb.vmware.com

そして、NSX-V 6.4.14 のリリースノートも公開されていたり。 docs.vmware.com

NSX-V としての VMSA はどこに?

勘のいいガキ方は既にお気づきかと、NSX-V は既に EOGS を迎えています。

2022-01-16…

一方で VCF 3.11 はまだ General Support 期間内ということで、そのコンポーネントとなっている NSX-V の脆弱性として報告が上がったものかと。

※ 個人の見解です

NSX-V としての公式情報

VMSA 発行の数日後、公式に NSX-V についての QA として KB が発行されました。
kb.vmware.com 頑張って翻訳してみる。

Q. この脆弱性NSX-V Manager にどのような影響を与えますか?
A.VMware はこの問題の重要度を CVSSv3 ベースで最大 9.8 の Critical レベルとして評価しました。攻撃者はネットワーク経由で NSX-V Manager アプライアンスにアクセスすることで NSX-V Manager のフル権限を取得できます。

Q.このリリースにより、VMware は 2022-01-16 以降に EOGS を延長しますか?
A.いいえ、NSX-V の EOGS は 2022-01-16 のままです。

Q.NSX-V は EOGS ですが、何故 VMware はこの製品のセキュリティパッチをリリースしましたか?
A.NSX-V の EOGS は 2022-01-16 ですが、VMware Technical Guidance Policies の例外としてパッチをリリースしたことにご注意ください。

Q.VCF は使っていない、単独の NSX-V として稼働していますが、影響はありますか?
A.6.4.14 より前のすべてのバージョンで影響があります。

Q.NSX-V 6.4.14 に直接アップグレードできますか?
A.アップグレードコンパチビリティは Prodict Interoperability Matrix を参照してください。
 早期のバージョンについては KB:NSX-V 6.4.2、6.4.3、6.4.4、および 6.4.5 バージョンから NSX-V 6.4.10 以降への直接アップグレードが失敗する (82662) を参照してください。

Q.変更を凍結してアップグレードできません、ワークアラウンドはありますか?
A.製品で可能な回避策はありません。唯一の可能な修正は NSX-V のアップグレードだけです。VMware サポートは代替の緩和策に関与しません。

Q.NSX-V から NSX-T へ移行しましたが、この環境は影響がありますか?
A.NSX-T はこの問題の影響をうけません。

Q.Manager のみがこの脆弱性の影響をうけるコンポーネントの場合、他の NSX-V コンポーネントはアップグレードせず Manager のみをアップグレードすることが可能ですか?
A.6.4.12 or 6.4.13 を稼働させているお客様は Manager のみ 6.4.14 へ部分アップグレードすることをサポートします。他の NSX-V コンポーネントは無期限にアップグレードを保留します。
 6.4.12 より前のバージョンを利用しているお客様は標準のアップグレードガイダンスが適用され、VMware はフルアップグレードをすることを推奨します。

Q.VCF 環境でこの問題に対処するにはどうすればよいですか?
A.KB:VMware Cloud Foundation 3.x の NSX-V 6.4.14 パッチ適用 (89809) を参照ください。

Q.NSX-V 6.4.14 へのアップグレードにより将来予定している NSX-T への移行計画に影響しますか?
A.NSX-V 6.4.14 からNSX-T への移行は完全にサポートされます。

Q.Manger のみの 6.4.14 へのアップグレード完了後、他のコンポーネントは 6.4.12 or 6.4.13 のまま NSX-T へ移行を始めることはサポートされますか?
A.はい、この構成での NSX-T 移行はサポートされます。

Q.私たちは 6.4.12/6.4.13 環境から Migration Coodinator を使った NSX-T 移行を開始していますが、NSX-Manager だけでも 6.4.14 にアップグレードできますか?
A.移行途中であれば、NSX-V のアップグレードは推奨しません。VMware はこのセキュリティ脆弱性の影響を受けない NSX-T への移行を優先することを推奨します。


脆弱性が深刻なだけに EOGS 後だけど例外的に修正をリリースしたみたいですね…

取るべき対応

NSX-V の Manager を外に公開している環境なんてまず無いとは思いますが、それでも極めて深刻な脆弱性なので、他で緩和策を取れないのであればパッチ適用を進めてください…

というのもあくまで暫定策で、そもそも NSX-V は EOGS で、Technical Guidance も間もなく終了となりますので、いち早く NSX-T へ移行することを推奨いたします…
(色々大変なのは重々承知の上ですが)

おまけ:他製品も少し調べてみた

他だと Xstream の脆弱性大丈夫なのかなということで、手元で稼働しているアプライアンスをのぞいてみた。
・vCenter 7.0u3g

root@vcsa02 [ ~ ]# find / -name "xstream*"
/usr/lib/vmware-content-library/jars/xstream-1.4.19.jar

・vROps 8.6.4

root@vrops01 [ ~ ]# find / -name "xstream*"
/storage/db/vcops/config_backup/stats/conf_backup_20221010_102900_685012_build_20232488/conf_existing_20221010_102900_685012_build_20232488/persistence/xstream.properties
/storage/db/vcops/config_backup/stats/conf_backup_20221010_102900_685012_build_20232488/conf_current_20221010_102900_685012_build_20232488/persistence/xstream.properties
/storage/db/vcops/config_backup/stats/conf_backup_20221010_102900_685012_build_20232488/conf_original_20221010_102900_685012_build_20232488/persistence/xstream.properties
find: ‘/proc/17011/task/29712’: No such file or directory
/usr/lib/vmware-vcops/common/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/tomcat-web-app/webapps/ui/WEB-INF/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/tomcat-enterprise/webapps/telemetry/WEB-INF/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/tomcat-enterprise/webapps/suite-api/WEB-INF/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/user/plugins/inbound/vmwarevi_adapter3/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/user/conf/persistence/xstream.properties
/usr/lib/vmware-vcops/_existingconf/persistence/xstream.properties
/usr/lib/vmware-vcops/controller/plugins/vcops-bridge-server-1.0-SNAPSHOT/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/controller/plugins/vrops-lint-server-1.0-SNAPSHOT/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/controller/plugins/vcops-business-mgmt-server-1.0-SNAPSHOT/lib/xstream-1.4.19.jar
/usr/lib/vmware-vcops/_originalconf/persistence/xstream.properties

・vRLI 8.8.2

root@vrli02 [ ~ ]# find / -name "xstream*"
root@vrli02 [ ~ ]#

・vRSLCM 8.8.2

root@vrslcm01 [ ~ ]# find / -name "xstream*"
root@vrslcm01 [ ~ ]#

Xstream 使っていない or 対策済バージョンなのでひとまず大丈夫そうですね。