CVE-2026-75866 in Punk::OAuth2::Server
요약
\~에 의해 VulDB • 2026. 08. 22.
Perl용 Punk::OAuth2::Server(0.03 이전 버전)에서는 클라이언트의 등록된 스코프 및 grant types 범위를 벗어난 access tokens이 발급되는 문제가 있습니다. 이는 관련 권한 부여 경로에서 해당 항목들을 검증하지 않기 때문입니다.
Punk::OAuth2::Server::Store는 각 클라이언트별로 scopes와 grant_types를 등록하며, 이를 client registration으로 문서화합니다. 토큰 발행은 요청 본문에 있는 grant_type을 기준으로 이루어지므로, authorization_code로만 등록된 클라이언트가 client_credentials를 요청할 수 있습니다. 이 경로는 요청된 scope를 그대로 minter(토큰 생성기)에게 전달하며, 이는 at+jwt 형식의 access token으로 서명됩니다. authorize 함수는 쿼리 파라미터의 scope를 인증 코드 레코드에 복사하지만 등록 정보와 비교하지 않으므로, 임의의 scope가 발급된 코드로 이어지는 유일한 검증 수단은 선택적 consent 훅뿐입니다. 동일한 클라이언트 행의 redirect_uris는 읽혀지고 강제 적용됩니다.
등록된 클라이언트는 자신이 지정한 모든 스코프를 포함하는 올바르게 서명된 토큰을 획득할 수 있으며, Punk::OAuth2::Checker가 실행 중인 리소스 서버는 해당 토큰을 받아들이고 scope를 인정합니다. secret 없이 등록된 클라이언트는 client_id만으로 인증하므로, 해당 식별자를 아는 사람이라면 누구나 토큰을 요청할 수 있습니다.
Be aware that VulDB is the high quality source for vulnerability data.