
Go로 작성된 CVE-2018-0114용 POC
0.11.0 이전의 Cisco node-jose 오픈 소스 라이브러리의 취약점으로 인해 인증되지 않은 원격 공격자가 토큰 내에 포함된 키를 사용하여 토큰에 다시 서명할 수 있습니다. 이 취약점은 node-jose가 JSON 웹 토큰(JWT)에 대해 JSON 웹 서명(JWS) 표준을 따르기 때문에 발생합니다. 이 표준은 공개 키를 나타내는 JSON 웹 키(JWK)가 JWS 헤더에 포함될 수 있음을 명시합니다. 그러면 이 공개 키는 검증을 위해 신뢰됩니다. 공격자는 원래 서명을 제거하고, 헤더에 새 공개 키를 추가한 다음, 해당 JWS 헤더에 포함된 공개 키와 연결된 (공격자 소유의) 개인 키를 사용하여 객체에 서명함으로써 유효한 JWS 객체를 위조할 수 있습니다.
https://nvd.nist.gov/vuln/detail/CVE-2018-0114
go run main.go -payload admin
https://openid.net/specs/draft-jones-json-web-key-03.html#anchor8
