{"id":"CVE-2020-15237","details":"In Shrine before version 3.3.0, when using the `derivation_endpoint` plugin, it's possible for the attacker to use a timing attack to guess the signature of the derivation URL. The problem has been fixed by comparing sent and calculated signature in constant time, using `Rack::Utils.secure_compare`. Users using the `derivation_endpoint` plugin are urged to upgrade to Shrine 3.3.0 or greater. A possible workaround is provided in the linked advisory.","aliases":["GHSA-5jjv-x4fq-qjwp"],"modified":"2026-07-09T10:12:00.109864Z","published":"2020-10-05T19:15:15.103Z","references":[{"type":"ADVISORY","url":"https://github.com/shrinerb/shrine/security/advisories/GHSA-5jjv-x4fq-qjwp"},{"type":"FIX","url":"https://github.com/shrinerb/shrine/commit/1b27090ce31543bf39f186c20ea47c8250fca2f0"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/shrinerb/shrine","events":[{"introduced":"0"},{"fixed":"c195329ab48d011010b06a6062d888744ceb3be0"},{"fixed":"1b27090ce31543bf39f186c20ea47c8250fca2f0"}],"database_specific":{"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:shrinerb:shrine:*:*:*:*:*:ruby:*:*","extracted_events":[{"introduced":"0"},{"fixed":"3.3.0"}]}}],"versions":["v3.2.1","v3.2.0","v3.1.0","v3.0.1","v3.0.0","v3.0.0.rc","v3.0.0.beta3","v3.0.0.beta2","v3.0.0.beta","v3.0.0.alpha","v2.19.0","v2.18.0","v2.17.1","v2.17.0","v2.16.0","v2.15.0","v2.14.0","v2.13.0","v2.12.0","v2.11.0","v2.10.0","v2.9.0","v2.8.0","v2.7.0","v2.6.1","v2.6.0","v2.5.0","v2.4.1","v2.4.0","v2.3.1","v2.3.0","v2.2.0","v2.1.1","v2.1.0","v2.0.1","v2.0.0","v1.4.2","v1.4.1","v1.4.0","v1.3.0","v1.2.0","v1.1.0","v1.0.0","v0.9.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15237.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}