LDAPインジェクションとは何か?
LDAPインジェクションは、サーバーサイド攻撃の一種であり、ウェブアプリケーションがユーザー入力を適切に無害化せずにLightweight Directory Access Protocolクエリを構築する際に悪用されます。アプリケーションがLDAPクエリに組み込む前に特殊文字を適切に無害化しない場合、攻撃者はこれらのクエリを操作し、認証を回避したり、機密ディレクトリデータを抽出したり、LDAPツリー内のエントリを変更したりすることが可能となります。
LDAPディレクトリは、エンタープライズのアイデンティティ基盤の中心に位置します。ユーザー認証情報、グループメンバーシップ、アクセス制御リスト、組織構造、サービスアカウントの詳細などを保存しています。LDAPインジェクション攻撃が一度成功すると、このリポジトリが露出し、攻撃者に認証基盤の「鍵」を与えることになります。
MITREはこの脆弱性をMITRE CWE-90: LDAPクエリで使用される特殊要素の不適切な無害化として分類しています。OWASPはこれをOWASP Injectionおよび更新されたOWASP Injectionカテゴリにリストしています。この脆弱性は SQLインジェクションと根本原因を共有していますが、対象は本質的に異なり、しばしばより重大なシステム、すなわち組織全体のアクセス制御を担うディレクトリサービスです。
LDAPインジェクションの仕組みを理解するには、攻撃者が悪用するクエリ構文を知る必要があります。
LDAPインジェクションの仕組み
LDAP検索フィルタは LDAP構文で定義された特定の文法に従います。フィルタはポーランド記法(前置記法)を使用し、シンプルな認証クエリは次のようになります:

&演算子は論理ANDを実行します。括弧は条件をグループ化します。*ワイルドカードは任意の値に一致します。これらのメタ文字に加え、| (OR), ! (NOT), =, ~=, >=, <=, ()などのグループ化演算子がインジェクションの攻撃面となります。
開発者がユーザー入力を直接クエリ文字列に連結してフィルタを構築すると、これらのメタ文字が攻撃手段となります。ログインフォームがユーザー名をそのまま(&(uid=INPUT)(userPassword=HASH)),のようなフィルタに挿入する場合、攻撃者が細工したメタ文字を送信することで、フィルタのロジックを完全に変更し、認証回避、全ディレクトリエントリの返却、1文字ずつのデータ抽出などが可能となります。
攻撃者が使用する具体的な手法はLDAPインジェクションの種類によって異なります。
LDAPインジェクションの種類
LDAPインジェクションにはいくつかの明確な形態があり、それぞれアプリケーションとディレクトリのやり取りの異なる側面を狙います。攻撃者が使用するタイプは、アプリケーションの挙動、クエリの文脈、攻撃者がレスポンスから観測できる内容によって決まります。
| タイプ | 手法 | 結果 |
| 検索フィルタインジェクション | ワイルドカードまたはORベースのフィルタ操作 | ディレクトリ全体の列挙 |
| 認証バイパス | 常に真となるフィルタインジェクション | 任意ユーザーとしての不正ログイン |
| ブラインドLDAPインジェクション | 1文字ずつの差分分析 | サイレントなデータ抽出 |
| DN操作 | DNフィールドへの誤ったエスケープ文脈の適用 | フィルタ以外のクエリ要素へのインジェクション |
検索フィルタインジェクション
次のような脆弱なJavaコードを考えます:

攻撃者がuser=*を送信すると、生成されるフィルタは(cn=*)となり、cn属性を持つディレクトリ内のすべてのオブジェクトに一致します。アプリケーションは単一レコードではなく全ユーザーディレクトリを返します。
認証バイパス
LDAP認証フローは最も重大なインジェクション対象です。次のような脆弱なログインフィルタ:

このフィルタは、ユーザー名として)(uid=))(|(uid=*を注入することでバイパス可能です。結果として生成されるフィルタは常に真となり、LDAPツリー内の最初のユーザー(多くの場合管理者アカウント)として認証済みステータスが付与されます。 テストガイドでは、これはSQLインジェクションによる認証バイパス手法の直接的な類似例として記載されています。
ブラインドLDAPインジェクション
アプリケーションがクエリ結果を直接表示しない場合、攻撃者は差分レスポンスを利用してデータを抽出します。(attribute=a*), (attribute=b*)のようなフィルタ条件を注入し、アプリケーションが結果を返すか空ページとなるかを観察することで、属性値を1文字ずつ抽出します。 Black Hat論文では、クライアントサイドのフィルタで表示情報を制限してもブラインドインジェクション手法は防げないことが示されています。
識別名(DN)操作
LDAPには異なるエスケープ文脈があり、それらを混同するとインジェクションベクターが生じます。検索フィルタはRFC 4515に従いエスケープが必要です(*→\2a, (→\28, )→\29)。識別名(DN)はRFC 2253に従いエスケープが必要です(\, #, +, <, >, ,, ;, ", =)。誤ったエスケープ文脈を誤ったフィールドに適用すると、対策したつもりでも脆弱性が残ります。
これらの攻撃タイプは、構文以上に深い共通の根本原因を持っています。
LDAPインジェクションの原因
LDAPインジェクション脆弱性は、コーディング手法、ライブラリの制限、インフラ構成ミスが組み合わさって発生します。それぞれが独立した攻撃経路を生み出します。
- 直接的な文字列連結。 ほぼすべてのLDAPインジェクション脆弱性の直接原因は、ユーザー制御データをアプリケーション層でLDAPフィルタ文字列に直接連結することです。LDAPライブラリは歴史的にパラメータ化クエリのサポートが不足しており、安全なクエリ構築には 手動ガイドの遵守が必要でした。パラメータ化インターフェースは存在しますが、意図的な採用が必要です。
- 特殊文字の誤管理。 入力バリデーションを試みるアプリケーションでも、不完全な拒否リストを実装し危険な文字を見逃すことがあります。*や(をブロックしても)、NULバイトを見逃せば依然として悪用可能です。 MITRE CWE-90はLDAPインジェクションをこの失敗の結果とし、インジェクション脆弱性は特殊文字の誤管理から直接生じるとしています。
- エスケープ文脈の混同。 LDAPチートシートは、検索フィルタ用エスケープをDNフィールドに、またはその逆に適用すると、誤った文脈選択によるインジェクションベクターが生じると記載しています。エスケープが必要と認識していても、誤った関数を選択すれば脆弱性は残ります。
- 匿名および未認証バインド構成。 匿名バインドを許可するLDAPサーバーは、攻撃者にバインド認証を完全に回避させます。
- 認証用途でのLDAPの広範な利用。 LDAPがエンタープライズ環境の認証基盤であるため、ログインフローへのインジェクションは最も重大な結果、すなわちエンタープライズ全体リソースへの認証済みアクセスをもたらします。攻撃対象領域はアーキテクチャ上、全社的です。
これらの原因が組み合わさることで、単一のクエリ侵害を超えるリスクが生じます。
LDAPインジェクションの影響とリスク
LDAPインジェクション攻撃は、いくつかのビジネス影響カテゴリを生み出し、それぞれ深刻度が増していきます。
認証バイパス
常に真となるフィルタインジェクションは即座に認証済みアクセスを付与します。OpenText Enterprise ServerのCVE-2023-4501では、パスワードが正しいかどうかに関係なく任意の有効なユーザー名で認証が成功し、無効なユーザー名と任意のパスワードでも成功する場合があります。これは金融、保険、政府のCOBOL開発・実行環境に影響しました。
機密データの流出
LDAPディレクトリには、ユーザー認証情報、パスワードハッシュ、メールアドレス、組織階層、グループメンバーシップ、ACL、コンピューターアカウント、 セキュリティ識別子などが含まれます。 CISAアドバイザリでは、単一のLDAPクエリでユーザー、コンピューター、グループ、ACL、OU、GPOの情報が取得された事例が記録されています。
権限昇格
インジェクションが成功すると、不正なクエリ権限が付与され、LDAPツリー内の内容変更が可能となります。Parse ServerのCVE-2026-31828では、認証済みの低権限ユーザーがLDAPフィルタインジェクションにより任意の制限付きグループに昇格できました。
サービス拒否(DoS)
CVE-2025-12764(pgAdmin)では、LDAPインジェクションがDC/LDAPサーバーおよびクライアントに大量データ処理を強制し、ディレクトリ基盤に対するサービス拒否と連鎖的な認証障害を引き起こしました。
ラテラルムーブメントの促進
LDAP列挙はActive Directory偵察の基礎となります。CISAレッドチームアドバイザリでは、LDAPデータがユーザー、コンピューター、グループ、ACL、OU、GPOのマッピングに利用され、これらが ラテラルムーブメント計画の入力となったと記録されています。評価対象企業はこの活動に対する可視性がゼロでした。
OWASPは、インジェクションの悪用難易度を3(容易)、技術的影響を3(重大)と OWASPフレームワークで評価しています。LDAPインジェクションは直接的なコンプライアンス影響も伴い、 PCI DSS 6.5.1ではSQLおよびXPathインジェクションと並び明示的な評価対象とされています。
影響を理解することで防御の優先順位付けが可能となりますが、攻撃者がこれらの脆弱性をどのように発見・悪用するかも知る必要があります。
攻撃者によるLDAPインジェクションの悪用手法
攻撃者は、偵察から完全な認証情報抽出まで、LDAPインジェクション脆弱性を発見・悪用するための体系的な手法に従います。
ステップ1:LDAP連携エントリポイントの特定
攻撃者は、LDAPバックエンドにクエリを投げる可能性が高いアプリケーション機能を特定します。 SANS LDAPブログによれば、LDAPは管理、認証、ディレクトリデータベースからのオブジェクト検索に利用されます。ログインフォーム、ユーザー検索ページ、パスワードリセットフロー、社内ディレクトリ検索、VPNゲートウェイポータルなどが候補となります。
ステップ2:インジェクションポイントの調査
OWASP LDAPテストでは、テスターが(, |, &, *などの文字を挿入し、差分レスポンスを確認することを推奨しています。エラーメッセージ、空の結果セット、アプリケーション挙動の変化は脆弱なパラメータの証拠です。
ステップ3:フィルタ構造の推測
ソースコードがない場合、攻撃者はファジングによりLDAPフィルタ構造を推測します。SANSは「ペネトレーションテスト中にこれらの記述を確認できるソースコードを持つことは稀であり、その場合はファジングや偵察が必要となる」と述べています。
ステップ4:インジェクションペイロードの作成
一般的なペイロード例:
- ワイルドカードインジェクション
(*)で全ディレクトリエントリを取得 - 常に真となるフィルタ
()(uid=))(|(uid=*)で認証バイパス - ORベース属性インジェクション ()(department=it)(|(cn=)で複数属性の認証情報を収集
- Nullオブジェクトクラス終端
(*)(objectClass=*))(& (objectClass=void)でブラインド抽出用のブールオラクルを確立
具体的なペイロードは偵察時に推測したフィルタ構造に依存します。
ステップ5:攻撃チェーンによるエスカレーション
OWASPおよびMITRE ATT&CKの各種資料で記録された典型的な攻撃チェーンは以下の通りです:
- 常に真となるフィルタでログインをバイパス
- ORベースインジェクションでドメイン認証情報を抽出
- ldapmodifyでドメインアカウントを作成(ATT&CK T1136.002)
- NTDS.ditをダンプしオフラインで認証情報をクラッキング(ATT&CK T1003.003)
ブラインドLDAPインジェクションでは、(attribute=*)プローブでスキーマ属性を列挙し、値(パスワードハッシュ、グループメンバーシップ、セキュリティ識別子など)を1文字ずつ抽出する並行的なチェーンが可能です。
これらの悪用パターンは幅広い組織・アプリケーションタイプに影響します。
LDAPインジェクションの影響を受ける組織
LDAPバックエンド認証に依存するすべての組織は、この脆弱性に構造的に晒されています。OWASPはインジェクション脆弱性が「特に レガシーコードで非常に多い」と指摘しています。
最もリスクが高いアプリケーションタイプ:
- LDAPバックエンド認証を持つウェブアプリケーション(ログインポータル、SSOシステム)
- 文字列連結LDAPクエリを使用するレガシーエンタープライズアプリケーション
- セルフサービスパスワードリセットや従業員ディレクトリポータル
- VPNゲートウェイやリモートアクセスポータル
- 産業制御システム管理プラットフォーム
- デスクトップアプリケーション(OWASP Desktop App Security Top 10では DA1 InjectionsにLDAPインジェクションを記載)
リスクが集中する業界:
- ヘルスケア:LDAPバックエンドEHRや臨床システムは未修正脆弱性に対しHIPAAの適用を受け、HHSは HHS違反データで2018~2022年の大規模侵害を記録。
- 金融サービス: 本分野のアイデンティティ連携エンタープライズシステムにおいて依然として攻撃対象領域。
- 政府・重要インフラ: CISAは政府環境やICSエネルギー分野プラットフォームでの積極的な悪用を記録。
- ソフトウェア・テクノロジー: オープンソースバックエンド、データベースツール、開発プラットフォームで新たなLDAPインジェクションCVEが継続的に発生。
LDAPインジェクションは、エンタープライズCOBOL環境、データベース管理ツール、エネルギー分野プラットフォーム、オープンソースバックエンドなど、幅広いソフトウェアに影響します。これらは仮定上のリスクではなく、最近のインシデントがその現実性を裏付けています。
LDAPインジェクションの実例
以下の事例は、LDAPインジェクションが政府ネットワーク、エンタープライズプラットフォーム、オープンソースツールでどのように発生したかを示します。
CISAレッドチーム:LDAP可視性ゼロのエンタープライズ(2024年)
CISA評価では、評価対象企業が「異常なLDAPトラフィックの監視を行っていなかった」と記録されています。チームはLDAPSを用いてユーザー、コンピューター、グループ、ACL、OU、GPOの情報を収集しました。CISAは、LinuxドメインホストからLDAPをクエリする非特権ユーザーの行為が「ネットワーク防御担当者に警告を与えるべきだった」と明記しています。
OpenText Enterprise Server:完全な認証バイパス(CVE-2023-4501)
この脆弱性により、パスワードに関係なく任意の有効なユーザー名で認証が成功し、無効なユーザー名でも成功する場合がありました。金融、保険、政府のCOBOL開発・実行環境に影響しました。
Ivanti EPMM:攻撃者によるLDAP認証情報のダンプ(2025年)
2025年5月のPoC公開後、攻撃者がIvanti EPMMサーバーにアクセスし、 LDAP認証情報をダンプしました。CISAは2025年5月19日に基礎となる脆弱性をKEVカタログに追加しました。
Redash:LDAPインジェクションによるパスワードスプレー(CVE-2020-36144)
GitHub Security Labは、RedashのLDAP認証においてメールフィールドがエスケープなしでLDAPフィルタクエリ文字列に整形され、未認証の攻撃者が単一リクエストで全ユーザーのパスワードを総当たりできることを記録しました。
これらのインシデントはLDAPセキュリティ課題の長期的な継続性を示しています。
LDAPインジェクションの歴史とタイムライン
LDAPインジェクションは20年以上前から知られる脆弱性クラスであり、正式な分類とCVE公開が1990年代後半から現在まで続いています。
- プロトコルの起源。 X.500 Directory Access Protocol(DAP)はITU-Tにより開発。LDAP v1はRFC 1487、v2はRFC 1777、v3はRFC 2251で登場し、現在もエンタープライズで利用されています。
- 最初の記録事例。 CVE-1999-0895はCheckpoint FireWall-1 V4.0における初期のLDAP認証セキュリティ問題を記録。
- 正式な分類。 OWASPはLDAPインジェクションを独立した攻撃クラスとして文書化。2007年のOWASP Top 10ではA2、Injection Flawsにマッピング。
- ブラインドインジェクション研究。 AlonsoらがBlack Hat Europeで体系的な ブラインドLDAP研究を発表し、1文字ずつのデータ抽出を実証。
- OWASP優先度のピーク。 OWASP Top 10 2017ではInjectionをA1(最重要リスク)に位置付け、LDAPインジェクションを明示。
- ICS分野への波及。 CVE-2018-14805(ABB eSOMS)でLDAPインジェクションがエネルギー分野ICS領域に波及。
- エンタープライズプラットフォームへの波及。 ForgeRock OpenAM、OpenLDAP、OpenText Enterprise Serverなどで継続的なエンタープライズ影響が確認。
- 最近の公開。 近年はApache Druid、WatchGuard Fireware、WeKan、Parse Server、Dell PowerMax、pgAdminなどで新たなCVEが発生。
新たなCVEが継続的に出現しており、継続的な監視が実務上必須となっています。
LDAPインジェクションの検出方法
アプリケーション、ディレクトリ、ネットワーク各層での多層監視が必要です。
アプリケーション層の指標
認証・検索パラメータにおけるLDAPメタ文字:*, (, ), \、NULバイトを監視します。ワイルドカードインジェクションによる全ディレクトリエントリ返却など、異常に大きなLDAP結果セットにも注意します。異常なクエリ直後の認証成功は認証バイパスの兆候です。
LDAPサーバー層の指標
フィルタ構造に)(や|(のシーケンスが含まれていないか監視します。(objectClass=*)や(cn=*)による全件返却はワイルドカード列挙の兆候です。匿名バインド後の広範な検索操作は未認証偵察の証拠です。
SIEMおよびイベントログ監視
Active Directory環境では、次のWindowsイベントIDが重要です:
- イベントID 4662: ADオブジェクトに対する操作。Write Property、Control Access、DELETE、WRITE_DAC、WRITE_OWNERアクションを監視。
- イベントID 1644: 高負荷または非効率なLDAPクエリ。インジェクション試行で頻発。
NCC Groupガイド:「ログ内の異常な検索フィルタを探すこと。攻撃者はユーザー、グループ、コンピューターを列挙するために特定のフィルタを使用することが多い。」
行動相関パターン
複数データソースを相関し、インジェクションキャンペーンを検出:
- 単一ソースIPからの高頻度LDAPクエリ(インジェクションツール利用)
- 属性の連続列挙:
uid=a*, uid=b*(ブラインドインジェクション抽出) - パスワード失敗直後の即時ログイン成功(認証バイパス確認)
- 非特権Linuxドメインホストによる大量LDAPクエリ(CISAが未検知と記録したパターン)
これらのシグナルを相関することで、単一指標よりも明確にインジェクションキャンペーンを把握できます。
WAFレベル監視
OWASP ModSecurity Core Rule Setは、REQUEST-921-PROTOCOL-ATTACK.conf内のルールID 921200でLDAPインジェクションを重大度CRITICAL・パラノイアレベル1(デフォルト有効)で検出します。このルールはリクエストクッキー、引数名、引数値、XMLボディ内のLDAPフィルタメタ文字パターンを検査します。
疑わしい活動の検出だけでは、適切な防止策がなければ不十分です。
LDAPインジェクションの防止方法
防止には、コード、構成、インフラ各層にまたがる多層防御が必要です。
コードレベルの対策
- パラメータ化LDAPクエリの使用。 最も効果的な対策は、ユーザー入力をフィルタ文字列に連結せずパラメータとして渡すことです:

- 文脈に応じた適切なエスケープの適用。 LDAPの文脈ごとに正しいエスケープ関数を使用します。検索フィルタ(RFC 4515)では*→
\2a, (→\28, )→\29, \→\5c、NUL→\00。識別名(RFC 2253)では\, #, +, <, >, ,, ;, ", =および先頭・末尾スペースをエスケープ。
言語別の実装例:
| 言語 | 検索フィルタエスケープ | DNエスケープ |
| Java | OWASP ESAPI encodeForLDAP() | OWASP ESAPI encodeForDN() |
| .NET | Encoder.LdapFilterEncode() | Encoder.LdapDistinguishedNameEncode() |
| Perl | Net::LDAP::Util::escape_filter_value() | RFC 2253に従い手動実装 |
- 許可リストバリデーションの実装。 LDAP操作前に入力値が期待されるパターンに合致するか検証します。フィールドに不要なメタ文字が含まれる入力は拒否します。 OWASPチートシートに従い、正規化(Unicode正規化)後にバリデーションを行います。
インフラストラクチャの強化
- 匿名・未認証バインドの無効化。 この1点で複数の重大脆弱性の根本原因を排除できます。
- LDAPS(ポート636)の使用。 NIST SP 1800-16に従い、平文LDAP(ポート389)は無効化します。
- LDAPバインドサービスアカウントへの最小権限ACL適用。 必要な操作・ディレクトリサブツリーのみに制限します。
- LDAPインフラのネットワーク分離。 NIST SP 1800-18Bに従い、一般ネットワークアクセスから分離します。
これらの対策により、LDAPインフラに到達した攻撃者の攻撃面を縮小できます。
CI/CDパイプライン統合
開発パイプラインに静的解析(SAST)・動的解析(DAST)を統合します。 OWASP Top 10は、SAST、DAST、IASTツールの導入により、 インジェクション脆弱性を本番展開前に特定することを推奨しています。Semgrepのtaint analysisモードは、LDAPクエリ構築を対象としたカスタムルールで、未サニタイズの入力の流れを追跡できます。
これらの防止策は、適切なツールによる支援で最大限の効果を発揮します。
検出・防止のためのツール
効果的なLDAPインジェクション対策には、スキャン、監視、ランタイム保護ツールの組み合わせが必要です。
- OWASP ZAPは、 ZAP Alert 40015(CWE-90, WASC-29)によるLDAPインジェクションのアクティブスキャンを提供します。ZAP MarketplaceのAlphaスキャンルール経由でインストールし、LDAP連携アプリケーションにはProtocol / LDAPを技術ターゲットに含めて設定します。
- OWASP ModSecurity CRSは、WAFレベルで CRSルール921200による保護を提供します(デフォルトでパラノイアレベル1)。このルールはクッキー、引数、XMLペイロード内のLDAPフィルタ操作シグネチャを検査します。 CRS Issue 276の回帰テストペイロードはWAF検証用のファジングワードリストとして利用可能です。
- Semgrepは、 入力ソースからLDAPクエリシンクまでの未サニタイズデータの流れを追跡する静的taint解析をサポートし、本番前にインジェクション経路を検出します。
- SIEMプラットフォームは、WindowsイベントID 4662・1644のカスタム識別ルールで、異常なLDAPクエリパターンを相関し、属性の連続列挙や非特権ホストからの大量クエリなどの行動指標でアラートを発報できます。
これらのツールは個別層の課題に対応します。プラットフォームアプローチで統合的に運用することが重要です。
関連する脆弱性
LDAPインジェクションと同様のパターンを持つ脆弱性クラス:
- SQLインジェクション(CWE-89): 最も近い類似例。どちらもクエリ言語への未サニタイズ入力を悪用し、認証バイパスも同様の手法で実現可能。構文や対象システムは大きく異なります。
- OSコマンドインジェクション(CWE-78): MITREによれば、CWE-90と同じソフトウェアフォルトパターン(SFP24「コマンドへの汚染入力」)を共有。対象はディレクトリサービスではなくホストOS。
- XPathインジェクション(CWE-643): OWASP LDAPテストは、XPathインジェクションをLDAPインジェクションと並列の認証バイパス手法(XMLベースデータストア対象)として明記。
- 特殊要素の不適切な無害化(CWE-77): MITRE階層でCWE-90の親弱点。すべてのインジェクション型はこの一般化された失敗から派生。
- 出力の不適切なエンコーディングまたはエスケープ(CWE-116): エスケープ失敗からインジェクションへの直接的な連鎖を記録。CVE-2021-41232はGoアプリケーションのエスケープ失敗がLDAPインジェクションを直接許した事例。
- 不適切な入力バリデーション(CWE-20): アプリケーションがLDAPクエリ構築前に入力形式を検証しない場合の根本原因。
これらの関連弱点タイプを確認することで、LDAP固有コードパスだけでなくコードベース全体に同じ防御原則を適用できます。
関連CVE
| CVE ID | 説明 | 深刻度 | 影響製品 | 年 |
| SuiteCRMのLDAPインジェクションにより、未認証の攻撃者が検索フィルタを操作し、認証バイパスや情報漏洩が可能 | Critical (9.8) | SalesAgility SuiteCRM <7.15.1 / 8.0.0–8.9.2 | 2026 | |
| WeKanは未サニタイズのユーザー名をLDAP検索フィルタおよびDN値に組み込み、未認証のリモート攻撃者が認証時にLDAPクエリを操作可能 | Critical (9.8) | WeKan Project WeKan <8.19 | 2026 | |
| Parse Serverはユーザー提供のauthData.idをLDAP識別名およびグループ検索フィルタに直接挿入し、権限昇格が可能 | High (8.8) | Parse Platform parse-server <8.6.26 | 2026 | |
| WatchGuard Fireware OSのLDAPインジェクションにより、未認証のリモート攻撃者が接続されたLDAPサーバーから機密情報を取得可能 | High (7.0) | WatchGuard Technologies Fireware OS 12.0–12.11.6 / 12.5–12.5.15 | 2026 | |
| Kanboardは未サニタイズのユーザー入力をLDAP検索フィルタに直接代入し、未認証の攻撃者がLDAPユーザーの列挙や機密属性の発見を可能にする | Medium (5.3) | Kanboard Kanboard ≤1.2.48 | 2026 | |
| TeedyのLDAP対応ログインフォームはユーザー名フィールド経由で未認証LDAPインジェクションを許し、任意アカウント作成やパスワードスプレーが可能 | Critical (9.8) | Sismics Teedy 1.9–1.12 | 2025 | |
| Apache HertzBeatのLDAPインジェクションにより、認証済み攻撃者が任意スクリプト実行を引き起こすコマンドを作成可能 | High (8.8) | Apache Software Foundation Apache HertzBeat ≤1.7.2 | 2025 | |
| pgAdmin 4のユーザー名フィールドに特殊LDAP文字を注入すると、LDAPサーバーとクライアントが過剰なデータを処理し、サービス拒否が発生 | High (7.5) | PostgreSQL Global Development Group pgAdmin 4 <9.10 | 2025 | |
| GLPIのLDAP認証フォームは未認証攻撃者によるLDAPインジェクションが可能であり、バージョン10.0.12で修正 | High (8.1) | GLPI Project GLPI 0.70–<10.0.12 | 2024 | |
| 特権ユーザーがOX App SuiteのオプションLDAP連絡先プロバイダーにLDAPフィルタ文字列を注入し、意図しない階層外のディレクトリ内容にアクセス可能 | High (~8.0) | Open-Xchange OX App Suite <7.10.6 | 2024 | |
| NVIDIA DGX A100 BMCは、隣接ネットワークの未認証攻撃者によるLDAPユーザーインジェクション脆弱性を含み、情報漏洩につながる | Medium (~6.5) | NVIDIA DGX A100 BMC | 2024 | |
| MastodonのLDAPログインクエリが不適切で、認証済み攻撃者がLDAPディレクトリから任意属性を漏洩可能 | High (7.7) | Mastodon Mastodon 2.5.0–4.1.1 | 2023 | |
| 細工されたユーザー名によりApache DerbyのLDAP認証がバイパスされ、ディスク枯渇、マルウェア実行、不正なデータベースアクセスが可能 | Critical (9.8) | Apache Software Foundation Apache Derby ≤10.16.1.1 | 2022 | |
| SSSDのlibsss_certmapはLDAPフィルタに使用する証明書データのサニタイズに失敗し、認証済み攻撃者がLDAPクエリエレメントを注入し不正アクセスが可能 | High (8.8) | Red Hat / SSSD Project SSSD | 2022 | |
| Apache ManifoldCFはActiveDirectoryコネクタでユーザー名・ドメイン文字列をLDAP検索クエリにバリデーションなしで渡す | Medium (5.3) | Apache Software Foundation Apache ManifoldCF 0–2.23 | 2022 | |
| Thunderdome Planning PokerはLDAP認証有効時にユーザー名をLDAPクエリ前にエスケープせず、未認証LDAPインジェクションが可能 | Critical (9.8) | Thunderdome Planning Poker <1.16.3 | 2021 | |
| IBM Open LibertyのldapRegistry-3.0機能にLDAPインジェクション脆弱性 | High (7.5) | IBM Open Liberty ldapRegistry-3.0 (v17.0.0.3–22.0.0.1) | 2021 | |
| ForgeRock OpenAMはWebfingerプロトコル経由でLDAPインジェクションを許し、未認証でパスワードハッシュやセッショントークンの1文字ずつの取得が可能 | High (est.) | ForgeRock OpenAM <13.5.1 | 2021 |
まとめ
LDAPインジェクションは、信頼できない入力を利用して、認証やアクセスの基盤となるディレクトリシステムを攻撃者の制御下に置く手段を与えます。つまり、リスクは単一のクエリやアプリケーションに限定されることはほとんどありません。
クエリを安全に構築し、値を正しい文脈でエスケープし、バインド権限を制限し、LDAP活動を厳重に監視することで、攻撃者の侵入余地と被害範囲を大幅に低減できます。
よくある質問
LDAPインジェクションは、信頼できないデータからLDAPクエリを構築するソフトウェアにおける入力処理の不備です。攻撃者はクエリの解釈方法を変更でき、ログインチェックを常に真となる条件に変えたり、限定的な検索をディレクトリ全体の列挙に拡大したり、LDAPツリー内で追加や変更操作を悪用したりすることが可能です。
はい。LDAPインジェクションは、OWASPのより広範なインジェクションカテゴリに含まれており、単独でTop 10エントリとしては扱われていません。実際には、SQLインジェクションと同様に、信頼できない入力がインタープリタに到達することによる脆弱性であるため、LDAPを利用するコードも同じ厳密さでレビューする必要があります。
はい。Web公開されているログインフォーム、検索ページ、ポータル、管理インターフェースがユーザー入力をLDAPバックエンドに渡している場合、攻撃者はネットワーク経由で悪用を開始できます。
多くの場合、有効な認証情報がなくてもフィルタ操作の探索を始めることが可能です。
最もリスクが高いのは、LDAPをアイデンティティ判定に利用するアプリケーションです。ログインポータルやSSOシステム、パスワードリセットやディレクトリ検索ツール、VPNゲートウェイやリモートアクセスポータル、LDAPクエリを文字列連結で構築するレガシーエンタープライズアプリケーションなどが該当します。
攻撃者は通常、単純なプローブから開始します。LDAPメタ文字((、|、&、*など)を送信し、応答の変化やエラー、異常な結果数を観察します。
フィルタ構造を推測した後、ワイルドカードやORベース、ブラインド抽出のペイロードに移行します。
初期兆候としては、認証や検索フィールドへのメタ文字の入力、異常に広範なLDAP検索結果、フィルタ内の)(や|(パターン、失敗したログイン直後の成功、非特権ホストからの大量LDAPクエリなどが挙げられます。
LDAPはしばしば単一アプリケーションを超えて認証・認可を制御しているため、深刻です。インジェクションが成功すると、ディレクトリデータの漏洩、ログイン制御の回避、ラテラルムーブメント計画への利用などが可能となります。
この影響範囲の広さは、多くのアプリケーション固有の脆弱性よりもビジネスインパクトが大きくなります。
はい。特に大規模なアイデンティティ攻撃チェーンの初期段階として利用されることがあります。攻撃者はログイン回避やディレクトリ列挙から、認証情報の収集、アカウント作成、NTDS.ditのダンプ、有効アカウントを使った永続的アクセスへと進行できます。
インジェクションはしばしば侵入の入口であり、最終目的ではありません。
ツールは役立ちますが、それだけで問題を解決できるわけではありません。スキャナーやWAFルールは明白なケースを検出できますが、ブラインドインジェクションや弱いLDAPログでは検出が困難です。
LDAPトラフィックやクエリ挙動の可視性が不足している場合、悪用が進行中でも活動を見逃す可能性があります。
アイデンティティの集中管理に依存する業界は、リスクが最も高くなります。この記事では、医療、金融サービス、政府、重要インフラ、ソフトウェアプラットフォームを挙げています。
これらに共通するのは、高価値ユーザーやシステム、管理ワークフローの認証にLDAPを利用している点です。


