CVE-2021-3716

Public on

Last Modified: UTC

Insights vulnerability analysis

View exposed systems

Description

A flaw was found in nbdkit due to to improperly caching plaintext state across the STARTTLS encryption boundary. A MitM attacker could use this flaw to inject a plaintext NBD_OPT_STRUCTURED_REPLY before proxying everything else a client sends to the server, potentially leading the client to terminate the NBD session. The highest threat from this vulnerability is to system availability.

A flaw was found in nbdkit due to to improperly caching plaintext state across the STARTTLS encryption boundary. A MitM attacker could use this flaw to inject a plaintext NBD_OPT_STRUCTURED_REPLY before proxying everything else a client sends to the server, potentially leading the client to terminate the NBD session. The highest threat from this vulnerability is to system availability.

Statement

Red Hat Enterprise Linux 7 is not affected by this flaw as it ships an old version of `nbdkit` (v1.8.0) that does not include support for NBD Structured Replies.

Red Hat Enterprise Linux 7 is not affected by this flaw as it ships an old version of nbdkit (v1.8.0) that does not include support for NBD Structured Replies.

Mitigation

In general, it is recommended to use forced TLS (--tls=require) to avoid MitM attacks in the first place. If opportunistic encryption must be used (--tls=yes), ensure that clients that want to use TLS will request structured replies after the encryption is enabled. If this cannot be done, apply network filtering (e.g., firewall, TCP wrappers, etc.) or use a Unix domain socket instead of TCP to ensure that untrusted clients cannot connect to nbdkit as a MitM attacker.

Additional information

  • Bugzilla 1994695: nbdkit: NBD_OPT_STRUCTURED_REPLY injection on STARTTLS
  • CWE-924: Improper Enforcement of Message Integrity During Transmission in a Communication Channel
  • FAQ: Frequently asked questions about CVE-2021-3716

Common Vulnerability Scoring System (CVSS) Score Details

Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

CVSS v3 Score Breakdown
Red HatNVD

CVSS v3 Base Score

3.5

3.1

Attack Vector

Network

Network

Attack Complexity

Low

High

Privileges Required

Low

Low

User Interaction

Required

None

Scope

Unchanged

Unchanged

Confidentiality Impact

None

None

Integrity Impact

None

None

Availability Impact

Low

Low

CVSS v3 Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L

NVD: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L

Understanding the Weakness (CWE)

CWE-924

Integrity,Confidentiality

Technical Impact: Gain Privileges or Assume Identity

If an attackers can spoof the endpoint, the attacker gains all the privileges that were intended for the original endpoint.

Acknowledgements

This issue was discovered by Eric Blake (Red Hat).

Frequently Asked Questions

Why is Red Hat's CVSS v3 score or Impact different from other vendors?

My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?

What can I do if my product is listed as "Will not fix"?

What can I do if my product is listed as "Fix deferred"?

What is a mitigation?

I have a Red Hat product but it is not in the above list, is it affected?

Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?

My product is listed as "Out of Support Scope". What does this mean?

Want to get errata notifications? Sign up here.