Synology Diskstation Manager の脆弱性 CVE-2023-2729:管理者アカウント乗っ取りの危険性

A Flaw In Synology Diskstation Manager Allows Admin Account Takeover

2023/10/18 SecurityAffairs — Synology DiskStation Manager (DSM) に存在する脆弱性 CVE-2023-2729 (CVSS:5.9) を、Claroty Team82 の研究者たちが発見した。Team82 によると、NAS 製品上で動作する Synology の DiskStation Manager (DSM) Linux ベースの OS で、脆弱な乱数ジェネレータが使用されていたという。この脆弱性は、NAS デバイスの管理者パスワードの生成に使用される、Javascript の安全ではない “Math.random()” 関数に起因するものだ。


同社のアドバイザリには、「ごく稀な状態において、攻撃者は PRNG (Pseudorandom Number Generator) のシードを復元して、管理者パスワードを再構築している。この攻撃により、管理者アカウントをリモートで乗っ取るのに十分な情報が、漏えいしていく可能性がある」と記されている。

研究者たちは、いくつかの “Math.Random()” で生成された数値の出力をリークすることで、PRNG のシードを再構築し、それを使って管理者パスワードをブルートフォースで突破できることを確認した。そして、有効化した後に、そのパスワードを使って管理者アカウントへのログインに成功した。

2023年6月に Synology はアップデートをリリースし、この脆弱性に対処している。

同社のアドバイザリには、「この攻撃を実行するためには、Math.Random の値をいくつかリークする必要がある。これを達成する1つの実現可能な方法は、最初のインストール・ウィザードで Math.Random を用いて生成される GUID (例えば72e14742-b0e5-4826-b7c9-eb16284fe9cd) をリークすることである」と記されている。

実際のシナリオにおける脅威アクターは、まず GUID をリークし、Math.Random の状態に対してブルートフォース攻撃を行い、管理者パスワードを取得していく。ただし、そのような状況であっても、ビルトイン管理者ユーザー・アカウントはデフォルトで無効化されており、大部分のケースで有効化されていないことを、研究者たちは確認している。

Claroty のアドバイザリには、「注意すべきは、”Math.random()” が安全な乱数を提供しない点にある。したがって、推奨されるのは Web Crypto API を、より正確には、 “window.crypto.getRandomValues()” メソッドを使用することだ。我々は、CVE-2023-2729 を Synology に開示した。Synology は脆弱なアルゴリズムを変更し、影響を受けるデバイスに修正をプッシュした。DSM 7.2 は、この脆弱性の影響を受けるため、ユーザーは 7.2-64561 以上にアップグレードするよう求められている」と結んでいる。