node-forge: node-forge: Cryptographic authentication bypass via unvalidated AES-GCM tag length
node-forge: node-forge: Integrity verification bypass via zero iteration count in PKCS#12 handling
node-forge: node-forge: Denial of Service via infinite loop on negative input
node-forge: node-forge: Denial of Service via trusted certificate removal during chain verification
node-forge: node-forge: Denial of Service via inefficient regular expression in PEM decoding
node-forge: node-forge: Denial of Service via missing TLS server certificate
node-forge: node-forge: Prototype pollution via crafted HTTP cookie headers
node-forge: node-forge: Data integrity failure via improper PKCS#7 padding validation
### Summary `decipher.finish()` in CBC and ECB mode accepted malformed PKCS#7 padding: only the last byte was checked, against a limit of four blocks, so mismatched padding bytes, a zero count and oversized counts were accepted and up to four blocks of plaintext could be silently removed. Fixed in node-forge 1.4.1. ### Details `modes.cbc.prototype.unpad()` and `modes.ecb.prototype.unpad()` in `lib/cipherModes.js` read the last decrypted byte as the PKCS#7 padding count…
node-forge: node-forge: Authorization bypass via improper OID encoding
node-forge: node-forge: Signature policy bypass via improper certificate parameter selection
### Summary When verifying a certificate, node-forge chose the RSA padding scheme (PKCS#1 v1.5 or RSASSA-PSS) and PSS parameters from the issuer certificate's own signature algorithm instead of the certificate being verified. A certificate labeled as signed with RSASSA-PSS could pass `verifyCertificateChain()` with a PKCS#1 v1.5 signature. Fixed in node-forge 1.4.1. ### Details `certificate.verify(child)` in `lib/x509.js` hashes the child's TBSCertificate with the digest of…