Description
Erupt through 2.3.0 contains an HQL injection vulnerability that allows authenticated users to bypass tree-scoped data filters by injecting unescaped quotes into the linkTreeVal parameter of POST /erupt-api/data/table/{erupt}. Attackers holding query permission on entities with String-keyed linkTree targets can append always-true OR clauses or boolean subqueries to read data from other mapped entities.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| erupts | erupt | ≤ 2.3.0 | — |
References
- https://hackmd.io/m0EK1XcGQfua6QHIXXNqMQ third-party-advisory
- https://github.com/erupts/erupt/blob/2.3.0/erupt-core/src/main/java/xyz/erupt/core/service/EruptService.java#L62-L71 technical-description
- https://github.com/erupts/erupt/blob/2.3.0/erupt-core/src/main/java/xyz/erupt/core/util/TypeUtil.java#L107-L115 technical-description
- https://github.com/erupts/erupt/blob/2.3.0/erupt-data/erupt-data-jpa/src/main/java/xyz/erupt/jpa/dao/EruptJpaUtils.java#L210-L212 technical-description
- https://github.com/erupts/erupt product
- VulnCheck Advisory: Erupt through 2.3.0 HQL Injection via linkTreeVal in Data Table API third-party-advisory