vHoge

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

vCenter Server における DCERPC とは何ぞや?

2024/06/18 に vCenter にて深刻な脆弱性が公表されました。

support.broadcom.com

内部的には 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

www.dcerpc.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 ドメインおよびその後のユーザー認証に参加させることができます。

docs.vmware.com

ほう、旧 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 やったことある人は聞いたことあるはず…というか見た)

VMwareGithub リポジトリにも Likewise Open を fork したっぽいリポジトリがある。

github.com