Kant's IT/Vulnerability

pac4j Java 프레임워크의 원격 코드 실행(RCE) 취약점

Kant Jo 2024. 11. 23. 21:03

pac4j Java Framework Vulnerable to RCE Attacks

 

pac4j Java Framework Vulnerable to RCE Attacks

A critical security vulnerability has been discovered in the popular Java framework pac4j, affects versions before 4.0.

gbhackers.com

 

  • 취약점 개요
    • 취약점 코드: CVE-2023-25581
    • 영향 버전: pac4j-core 4.0 이전 버전
    • 취약점 유형: Java 역직렬화 취약점
    • 위험도: 원격 코드 실행(RCE) 가능성
  • 취약점 원인
    • 취약한 클래스: pac4j-core의 InternalAttributeHandler 클래스
    • 문제 설명: restore 메서드가 역직렬화 시 {#sb64}로 시작하는 Base64 인코딩 문자열을 처리하는데, 데이터의 유효성 검증이 부족
    • 공격 가능성: 공격자가 {#sb64} 접두어를 사용하여 임의의 Java 클래스 역직렬화를 유도해 원격 코드 실행을 수행할 수 있음
  • 취약점 공개 일정
    • 2023-02-02: pac4j 보안팀에 취약점 보고
    • 2023-02-14: pac4j 개발팀에서 취약점을 인정하고 버전 4.0에서 패치 제공
  • 취약점의 영향 및 완화 조치
    • 영향: 성공적인 공격 시 임의 코드 실행 가능, 다양한 Java 패키지를 통해 악성 코드 실행 위험
    • 완화 조치: pac4j-core 4.0 이상 버전으로 즉시 업그레이드 권장
    • 제한 장치: RestrictedObjectInputStream이 일부 클래스의 역직렬화를 제한하나, 다양한 가젯 체인을 통해 여전히 악용 가능
  • 보안 권고
    • 시스템 점검 및 업데이트: 사용자 시스템의 잠재적 노출 여부 검토 및 패치 적용
    • 보안 코딩 실천: 역직렬화 시 사용자 제어 데이터 검증 강화 필요
    • 추가 정보: 불안전한 역직렬화와 관련한 Ysoserial 프로젝트 참고