@@ -4,29 +4,30 @@ Forge ChangeLog
4
4
## 1.3.0 - 2022-XXX
5
5
6
6
### Security
7
- - ** SECURITY** : Three RSA PKCS #1 v1.5 signature verification issues were
8
- reported by Moosa Yahyazadeh (
[email protected] ).
9
- - Leniency in checking ` digestAlgorithm ` structure can lead to signature
10
- forgery.
11
- - The code is lenient in checking the digest algorithm structure. This can
12
- allow a crafted structure that steals padding bytes and uses unchecked
13
- portion of the PKCS #1 encoded message to forge a signature when a low
14
- public exponent is being used. For more information, please see
15
- [ "Bleichenbacher's RSA signature forgery based on implementation
16
- error"] ( https://mailarchive.ietf.org/arch/msg/openpgp/5rnE9ZRN1AokBVj3VqblGlP63QE/ )
17
- by Hal Finney.
18
- - Failing to check tailing garbage bytes can lead to signature forgery.
19
- - The code does not check for tailing garbage bytes after decoding a
20
- ` DigestInfo ` ASN.1 structure. This can allow padding bytes to be removed
21
- and garbage data added to forge a signature when a low public exponent is
22
- being used. For more information, please see [ "Bleichenbacher's RSA
23
- signature forgery based on implementation
24
- error"] ( https://mailarchive.ietf.org/arch/msg/openpgp/5rnE9ZRN1AokBVj3VqblGlP63QE/ )
25
- by Hal Finney.
26
- - Leniency in checking type octet.
27
- - ` DigestInfo ` is not properly checked for proper ASN.1 structure. This can
28
- lead to successful verification with signatures that contain invalid
29
- structures but a valid digest.
7
+ - Three RSA PKCS #1 v1.5 signature verification issues were reported by Moosa
8
+
9
+ - ** HIGH** : Leniency in checking ` digestAlgorithm ` structure can lead to
10
+ signature forgery.
11
+ - The code is lenient in checking the digest algorithm structure. This can
12
+ allow a crafted structure that steals padding bytes and uses unchecked
13
+ portion of the PKCS #1 encoded message to forge a signature when a low
14
+ public exponent is being used. For more information, please see
15
+ [ "Bleichenbacher's RSA signature forgery based on implementation
16
+ error"] ( https://mailarchive.ietf.org/arch/msg/openpgp/5rnE9ZRN1AokBVj3VqblGlP63QE/ )
17
+ by Hal Finney.
18
+ - ** HIGH** : Failing to check tailing garbage bytes can lead to signature
19
+ forgery.
20
+ - The code does not check for tailing garbage bytes after decoding a
21
+ ` DigestInfo ` ASN.1 structure. This can allow padding bytes to be removed
22
+ and garbage data added to forge a signature when a low public exponent is
23
+ being used. For more information, please see [ "Bleichenbacher's RSA
24
+ signature forgery based on implementation
25
+ error"] ( https://mailarchive.ietf.org/arch/msg/openpgp/5rnE9ZRN1AokBVj3VqblGlP63QE/ )
26
+ by Hal Finney.
27
+ - ** MEDIUM** : Leniency in checking type octet.
28
+ - ` DigestInfo ` is not properly checked for proper ASN.1 structure. This can
29
+ lead to successful verification with signatures that contain invalid
30
+ structures but a valid digest.
30
31
31
32
### Fixed
32
33
- [ asn1] Add fallback to pretty print invalid UTF8 data.
@@ -40,7 +41,10 @@ Forge ChangeLog
40
41
` RSASSA-PKCS-v1_5 ` ` DigestInfo ` data. Additionally check that the hash
41
42
algorithm identifier is a known value from RFC 8017
42
43
` PKCS1-v1-5DigestAlgorithms ` . An invalid ` DigestInfo ` or algorithm identifier
43
- will now cause an error to be thrown.
44
+ will now throw an error.
45
+ - ** NOTE** : The previous lenient behavior is being changed to be more strict
46
+ since it could lead to security issues with crafted inputs. It is possible
47
+ that code may have to handle the errors from these stricter checks.
44
48
45
49
### Added
46
50
- [ oid] Added missing RFC 8017 PKCS1-v1-5DigestAlgorithms algorithm
0 commit comments