[update] fix (unexploitable) BB'06 vulnerability in rsa_verify
authorFilippo Valsorda <filippo@cloudflare.com>
Mon, 14 Dec 2015 02:18:13 +0000 (02:18 +0000)
committerFilippo Valsorda <filippo@cloudflare.com>
Thu, 21 Jan 2016 20:12:17 +0000 (20:12 +0000)
commit4d318be1951d6bbae0eae7aff69a58de353c8337
tree264c7d7fde6b7ce9bf96d20cc5eb9e3bf7ad51b4
parent6b45f9aba2dad6e965ab51b4d18f4bb05336eaf1
[update] fix (unexploitable) BB'06 vulnerability in rsa_verify

The rsa_verify code was vulnerable to a BB'06 attack, allowing to forge
signatures for arbitrary messages if and only if the public key exponent is
3.  Since the updates key is hardcoded to 65537, there is no risk for
youtube-dl, but I don't want vulnerable code in the wild.

The new function adopts a way safer approach of encoding-and-comparing to
replace the dangerous parsing code.
test/test_update.py [new file with mode: 0644]
test/versions.json [new file with mode: 0644]
youtube_dl/update.py