漏洞描述
OpenMetadata 中的身份验证绕过漏洞
OpenMetadata是一个统一的发现、观察和治理平台,由一个中央元数据存储库、深度派生和无缝团队协作支持。JwtFilter
通过要求和验证JWT令牌来处理API身份验证。当新请求进入时,将检查请求的路径是否包含在排除列表中。当请求的路径包含任何排除的端点时,过滤器将在不验证JWT的情况下返回。不幸的是,攻击者可以使用路径参数使任何路径包含任意字符串。例如,对GET /api/v1;v1%2fusers%2flogin/events/subscriptions/validation/condition/111
的请求将匹配排除的端点条件,因此将被处理而不验证JWT,从而允许攻击者绕过验证机制并达到任意端点,包括上述导致任意SpEL表达式注入的端点。当端点使用SecurityContext.getUserPrincipal()
时,这种绕过将无效,因为它将返回null
并且将引发NPE。此问题可能导致身份验证绕过,并已在版本1.2.4中解决。建议用户升级。
免责声明
技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!