🇰🇷 한글 설명
Apache Shiro 1.11.0 미만 버전을 Spring Boot 2.6 이상 버전과 함께 사용할 때, 특수하게 조작된 HTTP 요청으로 인해 인증을 우회할 수 있는 취약점입니다. 이 문제는 Shiro와 Spring Boot가 서로 다른 경로 매칭 방식을 사용하여 발생합니다.
💡 쉬운 설명
웹사이트의 주소를 인식하는 방식이 보안 프로그램과 웹 서버 간에 서로 달라서 발생하는 문제입니다. 공격자가 주소를 교묘하게 조작하면 보안 검사를 통과하여 로그인 없이 시스템에 접속할 수 있습니다.
🇺🇸 원문 (English)
When using Apache Shiro before 1.11.0 together with Spring Boot 2.6+, a specially crafted HTTP request may cause an authentication bypass.
The authentication bypass occurs when Shiro and Spring Boot are using different pattern-matching techniques. Both Shiro and Spring Boot < 2.6 default to Ant style pattern matching.
Mitigation: Update to Apache Shiro 1.11.0, or set the following Spring Boot configuration value: `spring.mvc.pathmatch.matching-strategy = ant_path_matcher`
📍 영향받는 시스템
Apache Shiro < 1.11.0 및 Spring Boot 2.6+
⚔️ 공격 벡터
경로 매칭 방식의 차이를 이용한 특수하게 조작된 HTTP 요청 전송
🛡️ 대응 방법
Apache Shiro를 1.11.0 이상으로 업데이트하거나, Spring Boot 설정에서 matching-strategy를 ant_path_matcher로 변경
🔧 검증 코드
출력 결과에 Shiro 버전이 1.11.0 미만으로 표시되면 취약한 상태입니다.
mvn dependency:tree | grep -E 'shiro:[0-1]\.[0-9]{2}\.[0-9]{2}'