RATATOSKRATATOSK
로그인

Dapr

v1.16.14Orchestration & Management
2026년 4월 17일

서비스 호출 메서드 경로의 경로 순회 및 인코딩 문자가 ACL 정책을 우회할 수 있는 치명적 보안 취약점 수정. 접근 제어 정책을 사용 중이라면 즉시 업그레이드해야 합니다.

  • security서비스 호출 ACL 사용 중이라면 즉시 업그레이드

    서비스 호출 접근 제어 정책을 사용하는 모든 배포 환경이 취약합니다. Dapr HTTP 또는 gRPC API에 접근할 수 있는 공격자가 ACL이 허용하는 것처럼 보이지만 실제로는 차단된 엔드포인트로 라우팅되는 메서드 경로를 만들어낼 수 있습니다. gRPC 경로가 특히 위험합니다. 별도의 현실적인 완화 방법이 없으므로 v1.16.14로 즉시 업그레이드하세요. 업그레이드 후에는 기존 ACL 정책 규칙이 정규화된 경로 형식(../ 해소, 인코딩된 구분자 없음)과 일치하는지 검토하십시오.

  • breaking#, ?, 널 바이트, 제어 문자가 포함된 메서드 경로는 이제 거부됨

    수정 후에는 프래그먼트(#), 쿼리(?), 널 바이트, 제어 문자가 포함된 메서드 경로를 자동으로 거부합니다. 가능성은 낮지만, 프로그래밍 방식으로 gRPC 메서드 경로를 동적으로 구성하는 코드가 있다면 업그레이드 후 해당 호출이 실패할 수 있습니다. 프로덕션 적용 전에 메서드 경로를 동적으로 생성하는 서비스 호출 코드를 미리 점검하십시오.

주요 변경 (5)

  • 경로 순회 시퀀스(../), 인코딩된 슬래시(%2F), 프래그먼트(%23), 쿼리(%3F), 불완전한 % 문자로 ACL 우회 가능
  • gRPC가 더 위험한 공격 경로 — 메서드 문자열이 클라이언트 측 정규화 없이 그대로 전달됨
  • 근본 원인: ACL은 디코딩·정리된 경로를 평가하고, 대상 앱은 원본 문자열을 그대로 수신하는 불일치
  • 호출 진입점에서 path.Clean 적용 후 ACL 검사와 디스패치 모두 동일한 경로 사용하도록 수정
  • ACL 경로에서 purell 라이브러리 제거, gRPC는 퍼센트 인코딩을 경로 구분자가 아닌 리터럴 문자로 처리