V
Scaner-VS
HomeCatalogSourcesCWECAPECATT&CKMitigationsDocs
CVE-2023-28841
AST
Medium

Moby is an open source container framework developed by Docker Inc. that is distributed as Docker, Mirantis Container Runtime, and various …

CVSS
6.8
Medium
EPSS
0.04
p88
Published
2023-01-01
Updated
2023-01-01
Description

Moby is an open source container framework developed by Docker Inc. that is distributed as Docker, Mirantis Container Runtime, and various other downstream projects/products. The Moby daemon component (`dockerd`), which is developed as moby/moby is commonly referred to as *Docker*. Swarm Mode, which is compiled in and delivered by default in `dockerd` and is thus present in most major Moby downstreams, is a simple, built-in container orchestrator that is implemented through a combination of SwarmKit and supporting network code. The `overlay` network driver is a core feature of Swarm Mode, providing isolated virtual LANs that allow communication between containers and services across the cluster. This driver is an implementation/user of VXLAN, which encapsulates link-layer (Ethernet) frames in UDP datagrams that tag the frame with the VXLAN metadata, including a VXLAN Network ID (VNI) that identifies the originating overlay network. In addition, the overlay network driver supports an optional, off-by-default encrypted mode, which is especially useful when VXLAN packets traverses an untrusted network between nodes. Encrypted overlay networks function by encapsulating the VXLAN datagrams through the use of the IPsec Encapsulating Security Payload protocol in Transport mode. By deploying IPSec encapsulation, encrypted overlay networks gain the additional properties of source authentication through cryptographic proof, data integrity through check-summing, and confidentiality through encryption. When setting an endpoint up on an encrypted overlay network, Moby installs three iptables (Linux kernel firewall) rules that enforce both incoming and outgoing IPSec. These rules rely on the `u32` iptables extension provided by the `xt_u32` kernel module to directly filter on a VXLAN packet's VNI field, so that IPSec guarantees can be enforced on encrypted overlay networks without interfering with other overlay networks or other users of VXLAN. An iptables rule designates outgoing VXLAN datagrams with a VNI that corresponds to an encrypted overlay network for IPsec encapsulation. Encrypted overlay networks on affected platforms silently transmit unencrypted data. As a result, `overlay` networks may appear to be functional, passing traffic as expected, but without any of the expected confidentiality or data integrity guarantees. It is possible for an attacker sitting in a trusted position on the network to read all of the application traffic that is moving across the overlay network, resulting in unexpected secrets or user data disclosure. Thus, because many database protocols, internal APIs, etc. are not protected by a second layer of encryption, a user may use Swarm encrypted overlay networks to provide confidentiality, which due to this vulnerability this is no longer guaranteed. Patches are available in Moby releases 23.0.3, and 20.10.24. As Mirantis Container Runtime's 20.10 releases are numbered differently, users of that platform should update to 20.10.16. Some workarounds are available. Close the VXLAN port (by default, UDP port 4789) to outgoing traffic at the Internet boundary in order to prevent unintentionally leaking unencrypted traffic over the Internet, and/or ensure that the `xt_u32` kernel module is available on all nodes of the Swarm cluster.

Tags · CWE
Pre-authInformation disclosure
CWE-200
CWE-311
CAPEC-13
CAPEC-22
CAPEC-31
CAPEC-37
CAPEC-59
CAPEC-60
CAPEC-65
CAPEC-79
CAPEC-116
CAPEC-157
CAPEC-158
CAPEC-169
CAPEC-204
CAPEC-224
CAPEC-285
CAPEC-287
CAPEC-290
CAPEC-291
CAPEC-292
CAPEC-293
CAPEC-294
CAPEC-295
CAPEC-296
CAPEC-297
CAPEC-298
CAPEC-299
CAPEC-300
CAPEC-301
CAPEC-302
CAPEC-303
CAPEC-304
CAPEC-305
CAPEC-306
CAPEC-307
CAPEC-308
CAPEC-309
CAPEC-310
CAPEC-312
CAPEC-313
CAPEC-317
CAPEC-318
CAPEC-319
CAPEC-320
CAPEC-321
CAPEC-322
CAPEC-323
CAPEC-324
CAPEC-325
CAPEC-326
CAPEC-327
CAPEC-328
CAPEC-329
CAPEC-330
CAPEC-383
CAPEC-384
CAPEC-385
CAPEC-386
CAPEC-387
CAPEC-388
CAPEC-472
CAPEC-477
CAPEC-497
CAPEC-508
CAPEC-573
CAPEC-574
CAPEC-575
CAPEC-576
CAPEC-577
CAPEC-609
CAPEC-616
CAPEC-643
CAPEC-646
CAPEC-651
Affected products
Moby 1.12.0–20.10.24Moby 23.0.0–23.0.3
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Timeline
2023-01-01
Published
2023-01-01
Updated
CVSS 3.1 breakdown
Attack Vector
AV: N
Network (N)
Attack Complexity
AC: H
High (H)
Privileges Required
PR: N
None (N)
User Interaction
UI: N
None (N)
Scope
S: C
Changed (C)
Confidentiality Impact
C: H
High (H)
Integrity Impact
I: N
None (N)
Availability Impact
A: N
None (N)
Exploit indicators
EPSS
0.038 · p88
Known exploited (KEV)
No
MITRE ATT&CK
Inferred via CAPEC
└ via CAPEC-37 · CWE-311
└ via CAPEC-574 · CWE-200
└ via CAPEC-292 · CWE-200
└ via CAPEC-577 · CWE-200
└ via CAPEC-65 · CWE-311
└ via CAPEC-300 · CWE-200
└ via CAPEC-309 · CWE-200
└ via CAPEC-383 · CWE-311
└ via CAPEC-573 · CWE-200
└ via CAPEC-576 · CWE-200
└ via CAPEC-312 · CWE-200
└ via CAPEC-497 · CWE-200
└ via CAPEC-575 · CWE-200
└ via CAPEC-646 · CWE-200
└ via CAPEC-295 · CWE-200
└ via CAPEC-60 · CWE-200
└ via CAPEC-643 · CWE-200
└ via CAPEC-169 · CWE-200
└ via CAPEC-31 · CWE-311
└ via CAPEC-60 · CWE-200
└ via CAPEC-37 · CWE-311
└ via CAPEC-13 · CWE-200
└ via CAPEC-309 · CWE-200
└ via CAPEC-169 · CWE-200
└ via CAPEC-169 · CWE-200
└ via CAPEC-576 · CWE-200
Known exploits — Сканер-ВС
No Сканер-ВС checks registered for this vulnerability yet.
Affected software
ProductVendorStatus
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.ioTracked
docker.io-appTracked
docker.io-appTracked
docker.io-appTracked
docker.io-appTracked
docker.io-appTracked
docker.io-appTracked
moby*Tracked
Source databases
AST
DEB
CVE
UBU
Related vulnerabilities