[하루한줄] CVE-2021-27850: Apache Tapestry CVE-2019-0195 Bypass
URL
CVE-2021-27850: Apache Tapestry: Bypass of the fix for CVE-2019-0195
Target
- Apache Tapestry 5.4.5, 5.5.0, 5.6.2 및 5.7.0 이전 버전
Explain
오픈소스 웹 프레임워크인 Apache Tapestry에서 발견된 원격 코드 실행 취약점 CVE-2019-0195 패치 우회의 세부 정보가 공개되었습니다.
CVE-2019-0195는 임의의 클래스 파일을 다운로드할 수 있어 해커가 이를 이용하면 serialized Java 객체 서명에 사용되는 HMAC
비밀 키를 알아낼 수 있습니다. 해커는 획득한 HMAC
비밀 키로 CommonsBeanUtils1
과 같은 Java RCE gadget 체인에 서명할 수 있고 이는 원격 코드 실행으로 이어집니다.
위 취약점은 URL request에 .class
, .properties
, .xml
이 있는지 확인하고 이를 필터링하는 것으로 패치되었으나 payload URL의 끝에 /
를 추가하면 필터링을 간단하게 우회해 기존 취약점을 활용할 수 있는 것으로 확인되었습니다.
http://[host ip]/assets/.../services/AppModule.class -> ".class" 필터링 적용됨
http://[host ip]/assets/.../services/AppModule.class/ -> ".class" 필터링 우회
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.