leanworld7-netizen opened a new issue, #4472:
URL: https://github.com/apache/streampark/issues/4472

   ## Security Report: Shiro 1.10.0 CVEs + Unauthenticated Endpoints
   
   ### Summary
   Apache StreamPark uses Apache Shiro 1.10.0 which is affected by 
CVE-2023-22602 (authentication bypass when used with Spring Boot 2.6+). 
Additionally, several paths are mapped as `anon` in ShiroConfig.java which may 
expose sensitive endpoints.
   
   ### Finding 1: Shiro 1.10.0 — CVE-2023-22602
   - **pom.xml**: `<shiro.version>1.10.0</shiro.version>`
   - CVE-2023-22602: Authentication bypass via path traversal when Shiro < 
1.11.0 is used with Spring Boot 2.6+
   - Exploit: `GET /xxx/..;/actuator/env` bypasses Shiro auth and reaches 
actuator endpoints
   - Fix: Upgrade Shiro to 1.13.0+
   
   ### Finding 2: Unauthenticated `/actuator/**`
   - **ShiroConfig.java L45**: `filterChainDefinitionMap.put("/actuator/**", 
"anon");`
   - Spring Boot Actuator endpoints are excluded from authentication
   - If actuator is on classpath, `/actuator/env` exposes environment variables 
and secrets
   
   ### Finding 3: Unauthenticated `/h2-console/**`
   - **ShiroConfig.java L46**: `filterChainDefinitionMap.put("/h2-console/**", 
"anon");`
   - H2 database console accessible without auth
   
   ### Finding 4: Unauthenticated `/proxy/**`
   - **ShiroConfig.java L77**: `filterChainDefinitionMap.put("/proxy/**", 
"anon");`
   - Proxy endpoint excluded from auth — potential SSRF
   
   ### Finding 5: FlinkShimsProxy Deserialization
   - **FlinkShimsProxy.java L120-122**: 
`ClassLoaderObjectInputStream.readObject()` with no ObjectInputFilter
   - Potential deserialization RCE if input is user-controlled
   
   ### Remediation
   1. Upgrade Shiro to 1.13.0+ (fixes CVE-2023-22602 and CVE-2023-46750)
   2. Remove `/actuator/**` and `/h2-console/**` anon mappings for production
   3. Investigate `/proxy/**` endpoint for SSRF
   4. Add ObjectInputFilter to ClassLoaderObjectInputStream
   
   This is a responsible disclosure per Apache security policy. If there is a 
private security reporting channel, please advise.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to