Docker Desktop < 4.27.1 Multiple Vulnerabilities

critical Nessus Plugin ID 190365

Synopsis

The remote host has an application installed that is affected by multiple vulnerabilities.

Description

The version of Docker Desktop for Linux is prior to 4.27.1. It is therefore affected by multiple vulnerabilities.

- runc is a CLI tool for spawning and running containers on Linux according to the OCI specification. In runc 1.1.11 and earlier, due to an internal file descriptor leak, an attacker could cause a newly-spawned container process (from runc exec) to have a working directory in the host filesystem namespace, allowing for a container escape by giving access to the host filesystem (attack 2). The same attack could be used by a malicious image to allow a container process to gain access to the host filesystem through runc run (attack 1). Variants of attacks 1 and 2 could be also be used to overwrite semi-arbitrary host binaries, allowing for complete container escapes (attack 3a and attack 3b). runc 1.1.12 includes patches for this issue. (CVE-2024-21626)

- BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. A malicious BuildKit client or frontend could craft a request that could lead to BuildKit daemon crashing with a panic. The issue has been fixed in v0.12.5. As a workaround, avoid using BuildKit frontends from untrusted sources. (CVE-2024-23650)

- BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. Two malicious build steps running in parallel sharing the same cache mounts with subpaths could cause a race condition that can lead to files from the host system being accessible to the build container. The issue has been fixed in v0.12.5. Workarounds include, avoiding using BuildKit frontend from an untrusted source or building an untrusted Dockerfile containing cache mounts with
--mount=type=cache,source=... options. (CVE-2024-23651)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version number.

Solution

Upgrade to Docker Desktop version 4.27.1 or later

See Also

http://www.nessus.org/u?992441ea

http://www.nessus.org/u?910afe4d

Plugin Details

Severity: Critical

ID: 190365

File Name: linux_docker_cve-2024-21626.nasl

Version: 1.3

Type: local

Family: Misc.

Published: 2/9/2024

Updated: 4/26/2024

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: Critical

Score: 9.9

CVSS v2

Risk Factor: Critical

Base Score: 10

Temporal Score: 8.3

Vector: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS Score Source: CVE-2024-23653

CVSS v3

Risk Factor: Critical

Base Score: 9.8

Temporal Score: 9.1

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:F/RL:O/RC:C

Vulnerability Information

CPE: cpe:/a:docker:docker

Required KB Items: installed_sw/Docker Desktop

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 1/31/2024

Vulnerability Publication Date: 1/31/2024

Exploitable With

Metasploit (runc (docker) File Descriptor Leak Privilege Escalation)

Reference Information

CVE: CVE-2024-21626, CVE-2024-23650, CVE-2024-23651, CVE-2024-23652, CVE-2024-23653, CVE-2024-23657

IAVA: 2024-A-0071