@fastify/middie 버전 9.1.0부터 9.3.2는 미들웨어 경로를 일치시키기 전에 경로 매개변수 값 내부에 인코딩된 슬래시 %2F를 디코딩하는 반면 Fastify의 기본 라우터는 경로 조회 중에 인코딩을 유지합니다. 두 계층은 정식 요청 경로에 동의하지 않으므로 미들웨어는 경로 핸들러가 일치하는 URL과 일치하지 못합니다. 매개변수화된 경로에서 인증, 권한 부여, 속도 제한 또는 감사에 미들웨어가 사용되는 경우 공격자는 다음을 통해 보호된 핸들러에 도달할 수 있습니다.
@fastify/middie 버전 9.1.0부터 9.3.2는 미들웨어 경로를 일치시키기 전에 경로 매개변수 값 내부에 인코딩된 슬래시 %2F를 디코딩하는 반면 Fastify의 기본 라우터는 경로 조회 중에 인코딩을 유지합니다. 두 계층은 정식 요청 경로에 동의하지 않으므로 미들웨어는 경로 핸들러가 일치하는 URL과 일치하지 못합니다. 미들웨어가 매개변수화된 경로에서 인증, 권한 부여, 속도 제한 또는 감사에 사용되는 경우 공격자는 매개변수 위치에 인코딩된 슬래시가 포함된 단일 제작 URL을 전송하여 보호된 핸들러에 도달할 수 있습니다. 우회는 HTTP 방법에 구애받지 않으며 인증이나 특별한 전제 조건이 필요하지 않습니다. 패치: @fastify/middie 9.3.3으로 업그레이드하세요. 해결 방법: 보안 결정을 위해 매개변수화된 미들웨어 경로를 피하거나 경로 핸들러에서 또는 라우터가 요청을 해결한 후 실행되는 Fastify 후크를 통해 인증을 시행하십시오.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 91.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 91.00 |
VPI 공식 vpi-v1 기준