{"url":"http://public2.vulnerablecode.io/api/packages/381800?format=json","purl":"pkg:golang/github.com/lestrrat-go/jwx@1.2.26","type":"golang","namespace":"github.com/lestrrat-go","name":"jwx","version":"1.2.26","qualifiers":{},"subpath":"","is_vulnerable":false,"next_non_vulnerable_version":"1.2.27","latest_non_vulnerable_version":"1.2.29","affected_by_vulnerabilities":[],"fixing_vulnerabilities":[{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/361091?format=json","vulnerability_id":"VCID-czzv-uptz-47hw","summary":"github.com/lestrrat-go/jwx vulnerable to Potential Padding Oracle Attack\n### Summary\n\nDecrypting AES-CBC encrypted JWE has Potential Padding Oracle Attack Vulnerability.\n\n### Details\n\nOn [v2.0.10](https://github.com/lestrrat-go/jwx/releases/tag/v2.0.10), decrypting AES-CBC encrypted JWE may return an error \"failed to generate plaintext from decrypted blocks: invalid padding\":\n\nhttps://github.com/lestrrat-go/jwx/blob/8840ffd4afc5839f591ff0e9ba9034af52b1643e/jwe/internal/aescbc/aescbc.go#L210-L213\n\nReporting padding error causes [Padding Oracle Attack](https://en.wikipedia.org/wiki/Padding_oracle_attack) Vulnerability.\nRFC 7516 JSON Web Encryption (JWE) says that we **MUST NOT** do this.\n\n> 11.5.  Timing Attacks\n> To mitigate the attacks described in RFC 3218 [RFC3218], the\n> recipient MUST NOT distinguish between format, padding, and length\n> errors of encrypted keys.  It is strongly recommended, in the event\n> of receiving an improperly formatted key, that the recipient\n> substitute a randomly generated CEK and proceed to the next step, to\n> mitigate timing attacks.\n\nIn addition, the time to remove padding depends on the length of the padding.\nIt may leak the length of the padding by Timing Attacks.\n\nhttps://github.com/lestrrat-go/jwx/blob/796b2a9101cf7e7cb66455e4d97f3c158ee10904/jwe/internal/aescbc/aescbc.go#L33-L66\n\nTo mitigate Timing Attacks, it MUST be done in constant time.\n\n### Impact\n\nThe authentication tag is verified, so it is not an immediate attack.","references":[{"reference_url":"https://github.com/lestrrat-go/jwx","reference_id":"","reference_type":"","scores":[{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/lestrrat-go/jwx"},{"reference_url":"https://github.com/lestrrat-go/jwx/blob/796b2a9101cf7e7cb66455e4d97f3c158ee10904/jwe/internal/aescbc/aescbc.go#L33-L66","reference_id":"","reference_type":"","scores":[{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/lestrrat-go/jwx/blob/796b2a9101cf7e7cb66455e4d97f3c158ee10904/jwe/internal/aescbc/aescbc.go#L33-L66"},{"reference_url":"https://github.com/lestrrat-go/jwx/blob/8840ffd4afc5839f591ff0e9ba9034af52b1643e/jwe/internal/aescbc/aescbc.go#L210-L213","reference_id":"","reference_type":"","scores":[{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/lestrrat-go/jwx/blob/8840ffd4afc5839f591ff0e9ba9034af52b1643e/jwe/internal/aescbc/aescbc.go#L210-L213"},{"reference_url":"https://github.com/lestrrat-go/jwx/commit/6c41e3822485fc7e11dd70b4b0524b075d66b103","reference_id":"","reference_type":"","scores":[{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/lestrrat-go/jwx/commit/6c41e3822485fc7e11dd70b4b0524b075d66b103"},{"reference_url":"https://github.com/lestrrat-go/jwx/commit/d9ddbc8e5009cfdd8c28413390b67afa7f576dd6","reference_id":"","reference_type":"","scores":[{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/lestrrat-go/jwx/commit/d9ddbc8e5009cfdd8c28413390b67afa7f576dd6"},{"reference_url":"https://github.com/lestrrat-go/jwx/security/advisories/GHSA-rm8v-mxj3-5rmq","reference_id":"","reference_type":"","scores":[{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/lestrrat-go/jwx/security/advisories/GHSA-rm8v-mxj3-5rmq"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/381800?format=json","purl":"pkg:golang/github.com/lestrrat-go/jwx@1.2.26","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:golang/github.com/lestrrat-go/jwx@1.2.26"}],"aliases":["GHSA-rm8v-mxj3-5rmq"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-czzv-uptz-47hw"}],"risk_score":null,"resource_url":"http://public2.vulnerablecode.io/packages/pkg:golang/github.com/lestrrat-go/jwx@1.2.26"}