~ / search / GHSA-5jjv-x4fq-qjwp

GHSA-5jjv-x4fq-qjwp

Possible timing attack in derivation_endpoint

Source: GitHub Advisory Database (reviewed) Moderate CVE-2020-15237

Packages

EcosystemPackageAffectedFixed in
RubyGems shrine < 3.3.0 3.3.0

Details

As written in the advisory (Markdown source, shown as plain text).

### Impact 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. ### Patches 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. ### Workarounds Users of older Shrine versions can apply the following monkey-patch after loading the `derivation_endpoint` plugin: ```rb class Shrine class UrlSigner def verify_signature(string, signature) if signature.nil? fail InvalidSignature, "missing \"signature\" param" elsif !Rack::Utils.secure_compare(signature, generate_signature(string)) fail InvalidSignature, "provided signature does not match the calculated signature" end end end end ``` ### References You can read more about timing attacks [here](https://en.wikipedia.org/wiki/Timing_attack).

References

External links from the advisory. They lead to third-party sites.