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

&演算子は論理ANDを実行します。括弧は条件をグループ化します。*ワイルドカードは任意の値にマッチします。これらのメタ文字に加え、| (OR), ! (NOT), =, ~=, >=, <=, ()などのグループ化演算子がインジェクションの攻撃面を形成します。
開発者がユーザー入力を直接クエリ文字列に連結してフィルタを構築すると、これらのメタ文字が攻撃手段となります。ログインフォームがユーザー名をそのまま(&(uid=INPUT)(userPassword=HASH)),のようなフィルタに挿入する場合、攻撃者が細工したメタ文字を送信することで、フィルタのロジックを完全に変更し、認証を回避したり、ディレクトリエントリ全体を返したり、1文字ずつデータを抽出したりできます。
攻撃者が使用する具体的な手法は、LDAPインジェクションの種類によって異なります。
LDAPインジェクションの種類
LDAPインジェクションにはいくつかの明確な形態があり、それぞれアプリケーションがディレクトリとやり取りする異なる側面を標的とします。攻撃者が使用するタイプは、アプリケーションの挙動、クエリの文脈、攻撃者がレスポンスから観察できる内容によって決まります。
| タイプ | 手法 | 結果 |
| 検索フィルタインジェクション | ワイルドカードまたはORベースのフィルタ操作 | ディレクトリ全体の列挙 |
| 認証バイパス | 常に真となるフィルタのインジェクション | 任意ユーザーとしての不正ログイン |
| ブラインドLDAPインジェクション | 文字単位の差分分析 | サイレントなデータ抽出 |
| 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フィールドに、または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は、LDAPインジェクションを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月に概念実証が公開された後、攻撃者が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研究を発表し、文字単位のデータ抽出を実証しました。
- 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環境では、次の2つの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のCRS回帰テストペイロードは、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-116→CWE-90の連鎖を示しています。
- 不適切な入力バリデーション(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インジェクションを許し、未認証でパスワードハッシュやセッショントークンの文字単位取得が可能 | 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を利用している点です。


