2024/06/18 に vCenter にて深刻な脆弱性が公表されました。
内部的には 2件(CVE でいうと 3件)含まれているのですが、その中でも重要度の高い以下。
3a. VMware vCenter Server multiple heap-overflow vulnerabilities (CVE-2024-37079, CVE-2024-37080)
Description:
The vCenter Server contains multiple heap-overflow vulnerabilities in the implementation of the DCERPC protocol. VMware has evaluated the severity of these issues to be in the Critical severity range with a maximum CVSSv3 base score of 9.8.
Description を Google 先生に訳してもらうと。
vCenter Server には、DCERPC プロトコルの実装に複数のヒープ オーバーフローの脆弱性が含まれています。 VMware は、これらの問題の重大度を、最大 CVSSv3 基本スコア 9.8 の重大度範囲内であると評価しました。
ということなので、vCenter 7.0 系であれば U3r、vCenter 8.0 系であれば U2d, U1e (もしくは U3)への速やかなアップグレードを強く推奨いたします。
そういえば過去にも…
DCERPC って見覚えあるなぁと思ったら昨年10月にもこんな VMSA が。
こちらも vCenter の DCERPC 実装の領域外書き込みの脆弱性で Critical.
support.broadcom.com
vCenter Server contains an out-of-bounds write vulnerability in the implementation of the DCERPC protocol. VMware has evaluated the severity of this issue to be in the Critical severity range with a maximum CVSSv3 base score of 9.8.
何か今回と全く同じような内容…
ところでこの DCERPC って何者?
ここ1年でかなり致命的な脆弱性を出しまくっている DCERPC ですが、あまり聞いたことなく…どういったものなんだろう?と。ひとまず Wikipedia より。
DCE/RPC(Distributed Computing Environment / Remote Procedure Calls)は、複数のコンピュータ上のソフトウェアをあたかも1つのコンピュータ上で動作しているかのように動作させる遠隔手続き呼出し (RPC) システムの一種である。これにより、分散処理ソフトウェアをネットワーク関連をどう実装するかを気にせずに構築できる。 DCE/RPC - Wikipedia
分散コンピューティング環境における遠隔手続呼出しのプロトコルということで、要はクラ/サバのプロトコル仕様の一種みたいで、FreeDCE、MSRPC、Samba あたりに実装が含まれてるらしい。
MS とか Samba とかあると脆弱性含まれていそう感が…(ボソ)
公式っぽい情報は以下あたり?
publications.opengroup.org
vCenter のどこに使われているの?
分散コンピューティング環境における RPC ってことですが、vCenter Server においてどこに使われているのか…虱潰しに探してみる。
(環境は vCenter 7.0 U3p build 22837322)
root@vcsa02 [ ~ ]# ps ax | grep dcerpc 39837 pts/0 S+ 0:00 grep --color=auto dcerpc root@vcsa02 [ ~ ]#
デーモンやプロセスでは一見なさそう。
ファイル名であたってみる。
root@vcsa02 [ ~ ]# find / -name 'dcerpc*' -print /opt/likewise/sbin/dcerpcd /opt/likewise/share/config/dcerpcd.reg
お、likewise?
likewise って何ぞやかと探してみると以下。
Likewise を使用すると、ホストを Active Directory ドメインおよびその後のユーザー認証に参加させることができます。
ほう、旧 PSC で AD 連携するためのサービスとな。
プロセスも改めてlikewise で探してみると。
root@vcsa02 [ ~ ]# ps ax | grep likewise 6111 ? Sl 0:57 /opt/likewise/sbin/lwsmd --start-as-daemon --syslog 6118 ? Sl 242:36 /opt/likewise/sbin/lwregd --syslog 6201 ? Sl 0:00 /opt/likewise/sbin/netlogond --syslog 6207 ? Sl 1:30 /opt/likewise/sbin/lwiod --syslog 6214 ? Sl 20:07 /opt/likewise/sbin/lsassd --syslog
何か動いてますね… systemctl から追っかけてみると。
root@vcsa02 [ ~ ]# systemctl status ● vcsa02.home.lab State: degraded Jobs: 0 queued Failed: 1 units Since: Tue 2024-05-14 16:45:10 JST; 1 months 15 days ago CGroup: / ├─1814 [none] ├─init.scope │ └─1 /lib/systemd/systemd --switched-root --system --deserialize 17 └─system.slice ├─irqbalance.service 【中略】 ├─lwsmd.service │ ├─6111 /opt/likewise/sbin/lwsmd --start-as-daemon --syslog │ ├─6118 /opt/likewise/sbin/lwregd --syslog │ ├─6201 /opt/likewise/sbin/netlogond --syslog │ ├─6207 /opt/likewise/sbin/lwiod --syslog │ ├─6214 /opt/likewise/sbin/lsassd --syslog │ ├─6263 /usr/lib/vmware-vmafd/sbin/vmafdd │ ├─6387 /usr/lib/vmware-vmdir/sbin/vmdird -s -l 0 -f /usr/lib/vmware-vmdir/share/config/vmdirschema.ldif │ └─6533 /usr/lib/vmware-vmca/sbin/vmcad -L └─systemd-logind.service
さきほどのドキュメントにあった通り、lwsmd に色々ぶら下がっている様子。
結局 DCERPC は
旧 PSC で稼働していたサービスで、Active Directory への参加、認証を司っている likewise 内部で実装されている RPC プロトコル。
PSC か統合された vCenter 7.0 では vCenter 内部で動作している。
Active Directory 連携を使っていなければ不要そうだが、デフォルトで上がってくるサービスなので止めるわけにはいかないか…(WorkAround でも紹介されていないし)
脆弱性情報なので、あまり深追いはせずここまでに。
また念のためですが、本件は個人の調査に基づく見解であり公式の情報ではありません。
FYI : likewise とは
likewise 自体は VMware 独自ソフトウェアではなく、旧 Likewise Software 社(EMC社(現 Dell Technologies 社)が買収)が開発していたソフトウェアで、有償の Likewise Enterprise と OSS の Likewise Open が存在しており、Likewise Open は現在は pbis と名前が変わって Linux 環境における AD 連携で使われている模様。
(Horizon で Linux VDI やったことある人は聞いたことあるはず…というか見た)
VMware の Github リポジトリにも Likewise Open を fork したっぽいリポジトリがある。