Babelfishに認証不要でコマンド実行の脆弱性、修正版あり
Babelfish for PostgreSQLとAurora PostgreSQLのBabelfishに、認証なしでOSコマンドを実行されるおそれのある脆弱性が公表され、修正版が出ています。SQL Server互換のTDSポートを使う環境は、版の確認と更新を進めてください。
急ぎ度: 至急
CVSS v3は9.8で、認証なしにネットワークから攻撃でき、修正版もすでに公開されているためです。
関係があるか
SQL Serverのアプリを書き換えずにPostgreSQLで動かすため、Babelfishを使っている組織が対象です。Auroraで有効にしているクラスターと、拡張機能を自前で運用している環境の両方が含まれます。TDSポート(既定は1433)に到達できる経路が広いほど、リスクは高くなります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Babelfish for PostgreSQL 拡張機能 | 1.0〜1.5、2.1〜2.15、3.1〜3.12、4.0〜4.8、5.1〜5.4 | 4.10、5.6、6.1以降 |
| Amazon Aurora PostgreSQL with Babelfish(Babelfish 1.x) | 1.5.5未満、および1.6.0以上1.17.2未満 | Aurora PostgreSQL 13.9.16(1.5.5)、13.23.3(1.17.2)以降 |
| Amazon Aurora PostgreSQL with Babelfish(Babelfish 2.x) | 2.3.5未満、2.4.0以上2.12.4未満、2.13.0以上2.13.3未満、2.14.0以上2.14.2未満、2.15.0以上2.15.2未満、2.16.0以上2.16.1未満 | Aurora PostgreSQL 14.6.16(2.3.5)、14.17.8(2.12.4)、14.18.6(2.13.3)、14.19.5(2.14.2)、14.20.5(2.15.2)、14.22.3(2.16.1)、14.23.1(2.17.0)以降 |
| Amazon Aurora PostgreSQL with Babelfish(Babelfish 3.x) | 3.8.4未満、3.9.0以上3.9.4未満、3.10.0以上3.10.3未満、3.11.0以上3.11.2未満、3.12.0以上3.12.2未満、3.13.0以上3.13.1未満 | Aurora PostgreSQL 15.10.8(3.8.4)、15.12.8(3.9.4)、15.13.6(3.10.3)、15.14.5(3.11.2)、15.15.5(3.12.2)、15.17.3(3.13.1)、15.18.1(3.14.0)以降 |
| Amazon Aurora PostgreSQL with Babelfish(Babelfish 4.x) | 4.5.5未満、4.6.0以上4.6.3未満、4.7.0以上4.7.2未満、4.8.0以上4.8.2未満、4.9.0以上4.9.1未満 | Aurora PostgreSQL 16.8.8(4.5.5)、16.9.6(4.6.3)、16.10.5(4.7.2)、16.11.5(4.8.2)、16.13.3(4.9.1)、16.14.1(4.10.0)以降 |
| Amazon Aurora PostgreSQL with Babelfish(Babelfish 5.x) | 5.1.4未満、5.2.0以上5.2.3未満、5.3.0以上5.3.2未満、5.4.0以上5.4.2未満、5.5.0 | Aurora PostgreSQL 17.4.8(5.1.4)、17.5.6(5.2.3)、17.6.5(5.3.2)、17.7.5(5.4.2)、17.9.3(5.5.1)、17.10.1(5.6.0)以降 |
| Amazon Aurora PostgreSQL with Babelfish(Babelfish 6.x) | 6.0.0以上6.0.2未満 | Aurora PostgreSQL 18.3.4(6.0.2)、18.4.1(6.1.0)以降 |
確かめ方
- 1Auroraでは、Babelfishを有効にしているクラスターを洗い出し、エンジンのバージョンを確認します。AWS CLIなら
aws rds describe-db-clusters --query "DBClusters[].{id:DBClusterIdentifier,version:EngineVersion}"で一覧できます。括弧内のBabelfishの版と、上の表の影響範囲を照らしてください。 - 2拡張機能を自前で運用している場合は、PostgreSQL側のポートにpsqlで接続し、
\dxでbabelfishpg_tsqlなどの版を確認します。 - 3OSS版の4.9と5.5は影響範囲の一覧に載っていませんが、Aurora側では4.9.0と5.5.0が影響を受けます。4.10と5.6への更新を前提に進めるのが安全です。
- 4TDSポート(既定は1433)が、信頼できない接続元から届く状態になっていないか、セキュリティグループやファイアウォールの設定で確認します。
何が起きたか
Babelfish for PostgreSQLの拡張機能と、Amazon Aurora PostgreSQL with Babelfishに、認証なしで、データベースを動かしているユーザーの権限でOSコマンドを実行されるおそれのある脆弱性が見つかりました。
BabelfishはSQL Server用のプロトコルであるTDSを話します。この脆弱性は、接続を始めるときの最初のやり取り(prelogin)を処理する部分にあります。不正な形のパケットを受け取ると、ヒープ領域のバッファーオーバーフロー(CWE-122)が起きる仕組みです。同じ処理部分で見つかったNULLポインターの参照の問題も、このCVEにまとめられています。
AWSは2026年11月6日、セキュリティ告知2026-166-AWSで公表しました。告知は2件をまとめて扱っています。もう1件のCVE-2026-119924はTDSのリモートプロシージャコール処理にあり、修正版は2件で共通です。
攻撃の流れ
-
1
TDSポートへ到達
攻撃者が、1433などBabelfishのTDSポートに届く位置にいます。
-
2
不正な最初の通信
ログインの前の段階で、不正な形のパケットを送ります。
-
3
メモリが壊れる
prelogin処理でヒープ領域のバッファーオーバーフローが起きます。
-
4
OSコマンド実行
データベースのプロセスと同じ権限でコマンドが動き、情報の漏えい、改ざん、停止につながります。
どう悪用されるか
攻撃にはログインが要りません。TDSポートにネットワークから届けば足り、利用者が何か操作する必要もありません。CVSS v3のベクターでも、ネットワーク経由・認証不要・利用者の操作不要・複雑な条件なしとされています。
悪用されると、データベースのプロセスと同じ権限で任意のOSコマンドを実行されるおそれがあります。AWSの告知は、データベースプロセスの機密性・完全性・可用性に影響すると説明しています。
同じ告知のCVE-2026-119924は、認証済みの攻撃者が隣接するプロセスのメモリを読むか、サービス拒否を起こすおそれがあるものです。こちらはログインできることが前提になります。
今すぐやること
-
1
Babelfishを使っている環境を洗い出す
Auroraで有効にしているクラスターと、自前運用のPostgreSQLを、部門をまたいで探します。SQL Serverの代わりとして移行した業務システムは、担当者が把握していないことがあります。版は上の影響範囲と照らして判定します。
aws rds describe-db-clusters --query "DBClusters[].{id:DBClusterIdentifier,engine:Engine,version:EngineVersion}" -
2
Auroraのクラスターを修正版に更新する
利用中のBabelfishの系列に対応する、Aurora PostgreSQLの修正版以降へクラスターを更新します。保留中のメンテナンスも適用して、最新のパッチまで当ててください。クラスターの更新は利用者側の作業で、自動では当たりません。
-
3
自前運用の拡張機能を更新する
4.10、5.6、6.1のいずれか以降に更新します。バイナリーを入れ替えてサーバーを起動したあと、拡張機能の更新(ALTER EXTENSION)も必要です。実行するのは拡張機能の所有者で、手順は各版のリリースノートにあります。1.x〜3.xは修正版の系列へ移る形になるため、4.10のリリースノートにある、一部の2.xと3.xからの移行手順を確認してください。
-
4
更新までは接続元を絞る
更新が済むまでのあいだは、回避策のとおりTDSポートへの接続を信頼できる接続元だけに限ります。更新後も、インターネットや広い社内ネットワークに1433を開けたままにしていないかを見直してください。
-
5
想定外の接続元がないか確認する
公表されたばかりで、告知には悪用の報告がありません。それでも、更新前に1433へ届いていた接続のログに、見覚えのない接続元がないかを見ておくと安心です。
すぐ更新できないとき
TDSポート(既定は1433)へのネットワークアクセスを、信頼できる接続元だけに制限します。Auroraの場合は、VPCのセキュリティグループで絞り込みます。これは更新までのつなぎで、修正版の適用に代わるものではありません。
背景
BabelfishはAWSが開発・保守するオープンソースの拡張機能で、PostgreSQLがSQL Serverの通信方式であるTDSを理解できるようにします。アプリ側のドライバーやコードを変えずにSQL ServerからPostgreSQLへ移行できるため、既存の業務システムの裏側で静かに動いていることが多い製品です。接続の受け口もSQL Serverと同じ1433番なので、SQL Serverの運用で作ったネットワークの設計や許可設定が、そのまま残っているケースが考えられます。
今回の問題は、ログインの前に動く処理にあります。パスワードの強さやアカウント管理を見直しても防げず、効くのはポートへの到達を絞ることと、修正版への更新です。移行のあとで「もうSQL Serverではない」と見なされ、資産管理や脆弱性の管理から漏れていないかも、見直すきっかけになります。
よくある質問
Q.Auroraを使っていても、Babelfishを有効にしていなければ対象外ですか。
Q.拡張機能を4.10へ更新するとき、データのダンプとリストアは必要ですか。
まだ分かっていないこと
- 実際の攻撃で悪用されたかどうかは、AWSの告知に書かれていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 修正版 |
|---|---|---|---|
| AWS | babelfish-for-postgresql |
1.0 〜 1.5 2.1 〜 2.15 3.1 〜 3.12 4.0 〜 4.8 5.1 〜 5.4 |
— — — — — |
| Amazon | Amazon Aurora PostgreSQL with Babelfish |
1.0.0 以上 1.5.5 未満 1.6.0 以上 1.17.2 未満 2.0.0 以上 2.3.5 未満 2.4.0 以上 2.12.4 未満 2.13.0 以上 2.13.3 未満 2.14.0 以上 2.14.2 未満 2.15.0 以上 2.15.2 未満 2.16.0 以上 2.16.1 未満 3.0.0 以上 3.8.4 未満 3.9.0 以上 3.9.4 未満 3.10.0 以上 3.10.3 未満 3.11.0 以上 3.11.2 未満 ほか 12 件 |
1.5.5 1.17.2 2.3.5 2.12.4 2.13.3 2.14.2 2.15.2 2.16.1 3.8.4 3.9.4 3.10.3 3.11.2 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
A heap-based buffer overflow in the TDS prelogin parser in the Babelfish for PostgreSQL extension versions 1.0-1.5, 2.1-2.15, 3.1-3.12, 4.0-4.8, 5.1-5.4 and in Amazon Aurora PostgreSQL with Babelfish might allow remote attackers to execute arbitrary OS commands as the database process user via a specially crafted malformed TDS prelogin packet to the TDS port. This record consolidates a related NULL-pointer-dereference finding in the same prelogin parser.
To remediate this issue, we recommend users upgrade to Babelfish for PostgreSQL extension versions 4.10, 5.6, 6.1 or later. As a workaround, restrict network access to the TDS port (default 1433). Customers using Amazon Aurora PostgreSQL with Babelfish should upgrade their cluster to Aurora PostgreSQL 13.9.16 (1.5.5), 13.23.3 (1.17.2), 14.6.16 (2.3.5), 14.17.8 (2.12.4), 14.18.6 (2.13.3), 14.19.5 (2.14.2), 14.20.5 (2.15.2), 14.22.3 (2.16.1), 14.23.1 (2.17.0), 15.10.8 (3.8.4), 15.12.8 (3.9.4), 15.13.6 (3.10.3), 15.14.5 (3.11.2), 15.15.5 (3.12.2), 15.17.3 (3.13.1), 15.18.1 (3.14.0), 16.8.8 (4.5.5), 16.9.6 (4.6.3), 16.10.5 (4.7.2), 16.11.5 (4.8.2), 16.13.3 (4.9.1), 16.14.1 (4.10.0), 17.4.8 (5.1.4), 17.5.6 (5.2.3), 17.6.5 (5.3.2), 17.7.5 (5.4.2), 17.9.3 (5.5.1), 17.10.1 (5.6.0), 18.3.4 (6.0.2), 18.4.1 (6.1.0) or later, and apply any pending maintenance to ensure they are on the latest patch.
出典: CVE.org (CVE Program・cvelistV5) NVD
参照URL
- AWS aws.amazon.com
- web github.com
- web github.com
- web github.com
- web aws.amazon.com