Buffer Overflow Affecting cryptography package, versions [35.0.0,38.0.3)


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
22.5% (97th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PYTHON-CRYPTOGRAPHY-3112180
  • published30 Oct 2022
  • disclosed28 Oct 2022
  • creditPaul Dale

Introduced: 28 Oct 2022

CVE-2022-3602  (opens in a new tab)
CWE-120  (opens in a new tab)

How to fix?

Upgrade cryptography to version 38.0.3 or higher.

Overview

Affected versions of this package are vulnerable to Buffer Overflow. A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking by the ossl_punycode_decode function.

Note that this occurs after certificate chain signature verification and requires either a CA to have signed the malicious certificate or for the application to continue certificate verification despite failure to construct a path to a trusted issuer. An attacker can craft a malicious email address to overflow four attacker-controlled bytes on the stack. This buffer overflow could result in a crash (causing a denial of service) or potentially remote code execution.

In a TLS client, this can be triggered by connecting to a malicious server.

In a TLS server, this can be triggered if the server requests client authentication and a malicious client connects.

A full break down of this vulnerability can be found in our technical deep dive.

Note: Pre-announcements of CVE-2022-3602 described this issue as CRITICAL. Further analysis based on some of the mitigating factors described above have led this to be downgraded to HIGH. Users are still encouraged to upgrade to a new version as soon as possible.

Changelog

November 1, 2022 - Advisory published.

November 2, 2022 - Node.js listed as affected, in advance of fix.

November 5, 2022 - Node.js fixed versions added.

CVSS Scores

version 3.1