日期: 2026年1月8日 **严重程度:**高
概要🔍
- 目标:(
https://hakc.com/已测试示例主机)。 - 摘要: 面向公众的 Chroma 端点(尤其是集合端点)无需身份验证即可返回集合元数据和向量配置详情。该应用程序还公开了
/docsSwagger UI 和openapi.json其他 API 接口。此外,还观察到了公共跟踪标头(例如 `<trace_header>Chroma-Trace-Id`),可用于定位其他实例。 - **影响:**高------敏感数据集元数据和向量配置暴露,Swagger/OpenAPI 暴露增加了攻击面。
受影响的主机和端点
- 示例主机:
https://hakc.com/ - 观察到的终点:
GET /api/v1/collections?tenant=default_tenant&database=default_databaseGET /api/v2/tenants/default_tenant/databases/default_database/collectionsGET /docs(Swagger UI)GET /openapi.json(OpenAPI规范)
- 观察到的标头:(
Chroma-Trace-Id: 0响应中看到的跟踪标头)
证据与观察📋
- 示例回复(已脱敏处理):
[{
"id": "7c807fbe-9717-4b44-8a06-046106554183",
"name": "knowledge_base",
"configuration_json": {"hnsw_configuration":{"space":"l2","ef_construction":100}},
"dimension": 1536,
"tenant": "default_tenant",
"database": "default_database"
}]
- 对集合端点运行简单操作,
curl无需身份验证即可返回非空数组。 - 在扫描日志中搜索标头,
chroma-trace-id返回了约 5,744 个结果(表明您的环境中存在广泛的标头泄露)。 - 访问时
/docs会显示 Swagger UI;获取结果/openapi.json会显示端点定义(某些端点返回错误,例如Internal Server Error,但在其他情况下可以访问可用的 API 表面)。
注意:未执行任何破坏性操作。报告仅使用了最少量的未经身份验证的 GET 请求以及目录/数据库枚举。