7月1日記事で既報のIBM iのDDMアーキテクチャの脆弱性について(記事はこちら)、最初に同脆弱性を発見しIBMに通報したハンガリーのITコンサルタント会社「SILENT SIGNAL」は7月3日、「技術的詳細」を公開した。
それによると、DDMの脆弱性は、IBM iのネットワークのセキュリティをファジングにより検証している中で発見された、という(ファジングとは、無効なデータを意図的に入力することによって例外的な状況を発生させ、システムの挙動を確認するセキュリティテスト手法)。
IBM iのjt400.jarライブラリには、DDMクライアントを作成するためのJava APIが含まれる。そして認証にas-signon(8476/TCP)サービスを使用し、認証に成功すると、DDMはポート446/TCPを使い始める。
同社ではIBM iに対してファジングを行った結果、数分後にQGPL/DDMSPOITファイルがテストサーバー上に作成されたのを確認した。そしてDDMSPOITファイルのオブジェクト権限を確認すると、「所有者はテストユーザーではなくQUSER」であり、「認証されていないCLコマンドの実行が可能であることに気づいた」という。
さらに調査を進めると、「ユーザー名やパスワードのフィールドが破損していても、DDMサーバーはコマンドのリクエストを処理してしまう」ことが確認できた。「DDMサーバーはERROR 0x17 (Invalid GSS-API server credential)のSECCHKRMパケットで応答するが、クライアントが送信したコマンドはまだ実行される」
今回の脆弱性について同社は、「根本的な原因は、サービスのエラー処理コードにあるGOTO failのバグであり、外部からの攻撃を可能にしているのではないか」と述べる。
そして、この脆弱性を突かれることによって、「認証なしで任意のCLまたはPASEコマンドをQUSERとして実行される可能性がある」と指摘する。
同社では、脆弱性に起因する動作の様子を動画にして公開している(下記URLの中段)。
https://blog.silentsignal.eu/2023/07/03/ibm-i-dde-vulnerability-cve-2023-30990/
また、IBMがこの脆弱性のCVSSベーススコアとして公表した「5.6(警告)」について、「どのような根拠でスコアされたのかはわからないが、認証されていないリモートコード実行が可能になる脆弱性としては、異常に低い」と首を傾げている。
・「CVE-2023-30990の技術的詳細 ~IBM i DDM サービスにおける認証されていないリモートコード実行」
https://blog.silentsignal.eu/2023/07/03/ibm-i-dde-vulnerability-cve-2023-30990/
[i Magazine・IS magazine]