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

    Threat Intelligence

    Exploit Maturity
    Proof of concept
    EPSS
    11.75% (96th 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 ID SNYK-PYTHON-CRYPTOGRAPHY-3112180
  • published 30 Oct 2022
  • disclosed 28 Oct 2022
  • credit Paul Dale

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
Expand this section

Snyk

Recommended
7.6 high
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    Low
  • Privileges Required (PR)
    Low
  • User Interaction (UI)
    None
  • Scope (S)
    Unchanged
  • Confidentiality (C)
    Low
  • Integrity (I)
    Low
  • Availability (A)
    High
Expand this section

NVD

7.5 high
Expand this section

SUSE

8.1 high
Expand this section

Red Hat

7.5 high