Dapr
v1.16.14Orchestration & Management2026년 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는 퍼센트 인코딩을 경로 구분자가 아닌 리터럴 문자로 처리