]> cat aescling's git repositories - mastodon.git/commitdiff
Fix crash on receiving requests with missing Digest header (#15782)
authorClaire <claire.github-309c@sitedethib.com>
Fri, 26 Feb 2021 16:40:27 +0000 (17:40 +0100)
committerGitHub <noreply@github.com>
Fri, 26 Feb 2021 16:40:27 +0000 (17:40 +0100)
* Fix crash on receiving requests with missing Digest header

Return an error pointing out that Digest is missing, instead of crashing.

Fixes #15743

* Fix from review feedback

app/controllers/concerns/signature_verification.rb

index fc3978fbbdd4f31099a7891fc4522bf816c8725e..4dd0cac55da0609cf44443dd480ce327f947c833 100644 (file)
@@ -133,6 +133,7 @@ module SignatureVerification
 
   def verify_body_digest!
     return unless signed_headers.include?('digest')
+    raise SignatureVerificationError, 'Digest header missing' unless request.headers.key?('Digest')
 
     digests = request.headers['Digest'].split(',').map { |digest| digest.split('=', 2) }.map { |key, value| [key.downcase, value] }
     sha256  = digests.assoc('sha-256')