CVE-2022-1708 Node DOS by way of memory exhaustion through ExecSync request in CRI-O

High 7.5 Published Updated

An attacker with Kube API access can exhaust node memory or disk space via large ExecSync command outputs in CRI-O.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2022-1708?

CVE-2022-1708 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 7 Jun 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A vulnerability was found in CRI-O that causes memory or disk space exhaustion on the node for anyone with access to the Kube API. The ExecSync request runs commands in a container and logs the output of the command. This output is then read by CRI-O after command execution, and it is read in a manner where the entire file corresponding to the output of the command is read in. Thus, if the output of the command is large it is possible to exhaust the memory or the disk space of the node when CRI-O reads the output of the command. The highest threat from this vulnerability is system availability.

Weakness: CWE-770, CWE-400

Which versions are affected by CVE-2022-1708?

7 open source packages ship an affected version, including github.com/cri-o/cri-o. It affects 4 products.

PackageAffectedFixed in
github.com/cri-o/cri-o GoAll versions1.22.5, 1.23.3, 1.24.1
github.com/cri-o/cri-o GoAll versions1.22.5
github.com/cri-o/cri-o GoAll versions1.22.5
github.com/cri-o/cri-o GoFrom 1.23.01.23.3
github.com/cri-o/cri-o GoFrom 1.23.01.23.3
github.com/cri-o/cri-o GoFrom 1.24.01.24.1
1 more packages
github.com/cri-o/cri-o GoFrom 1.24.01.24.1
Linux distribution packages (33)
cri-o Red Hat:openshift:3.11::el7All versions0:1.11.16-0.17.rhaos3.11.git4c0a8ad.el7
cri-o-debuginfo Red Hat:openshift:3.11::el7All versions0:1.11.16-0.17.rhaos3.11.git4c0a8ad.el7
conmon Red Hat:openshift:4.10::el8All versions2:2.0.29-3.rhaos4.10.el8
conmon-debuginfo Red Hat:openshift:4.10::el8All versions2:2.0.29-3.rhaos4.10.el8
conmon-debugsource Red Hat:openshift:4.10::el8All versions2:2.0.29-3.rhaos4.10.el8
cri-o Red Hat:openshift:4.10::el8All versions0:1.23.3-3.rhaos4.10.git5fe1720.el8
cri-o-debuginfo Red Hat:openshift:4.10::el8All versions0:1.23.3-3.rhaos4.10.git5fe1720.el8
cri-o-debugsource Red Hat:openshift:4.10::el8All versions0:1.23.3-3.rhaos4.10.git5fe1720.el8
conmon Red Hat:openshift:4.7::el7All versions2:2.0.29-3.rhaos4.7.el7
conmon-debuginfo Red Hat:openshift:4.7::el7All versions2:2.0.29-3.rhaos4.7.el7
cri-o Red Hat:openshift:4.7::el7All versions0:1.20.8-3.rhaos4.7.gitb9df556.el7
cri-o-debuginfo Red Hat:openshift:4.7::el7All versions0:1.20.8-3.rhaos4.7.gitb9df556.el7
conmon Red Hat:openshift:4.7::el8All versions2:2.0.29-3.rhaos4.7.el8
conmon-debuginfo Red Hat:openshift:4.7::el8All versions2:2.0.29-3.rhaos4.7.el8
conmon-debugsource Red Hat:openshift:4.7::el8All versions2:2.0.29-3.rhaos4.7.el8
cri-o Red Hat:openshift:4.7::el8All versions0:1.20.8-3.rhaos4.7.gitb9df556.el8
cri-o-debuginfo Red Hat:openshift:4.7::el8All versions0:1.20.8-3.rhaos4.7.gitb9df556.el8
cri-o-debugsource Red Hat:openshift:4.7::el8All versions0:1.20.8-3.rhaos4.7.gitb9df556.el8
conmon Red Hat:openshift:4.8::el7All versions2:2.0.29-3.rhaos4.8.el7
cri-o Red Hat:openshift:4.8::el7All versions0:1.21.8-3.rhaos4.8.gitd7fbb0d.el7
conmon Red Hat:openshift:4.8::el8All versions2:2.0.29-3.rhaos4.8.el8
cri-o Red Hat:openshift:4.8::el8All versions0:1.21.8-3.rhaos4.8.gitd7fbb0d.el8
conmon Red Hat:openshift:4.9::el7All versions2:2.0.29-3.rhaos4.9.el7
conmon-debuginfo Red Hat:openshift:4.9::el7All versions2:2.0.29-3.rhaos4.9.el7
cri-o Red Hat:openshift:4.9::el7All versions0:1.22.5-3.rhaos4.9.gitb6d3a87.el7
cri-o-debuginfo Red Hat:openshift:4.9::el7All versions0:1.22.5-3.rhaos4.9.gitb6d3a87.el7
conmon Red Hat:openshift:4.9::el8All versions2:2.0.29-3.rhaos4.9.el8
conmon-debuginfo Red Hat:openshift:4.9::el8All versions2:2.0.29-3.rhaos4.9.el8
conmon-debugsource Red Hat:openshift:4.9::el8All versions2:2.0.29-3.rhaos4.9.el8
cri-o Red Hat:openshift:4.9::el8All versions0:1.22.5-3.rhaos4.9.gitb6d3a87.el8
cri-o-debuginfo Red Hat:openshift:4.9::el8All versions0:1.22.5-3.rhaos4.9.gitb6d3a87.el8
cri-o-debugsource Red Hat:openshift:4.9::el8All versions0:1.22.5-3.rhaos4.9.gitb6d3a87.el8
conmon SUSE:Enterprise Storage 6All versions2.1.3-150100.3.9.1

Products include Fedoraproject Fedora, Kubernetes Cri-O, Redhat Enterprise Linux, Redhat Openshift Container Platform.

How do I fix CVE-2022-1708?

Upgrade github.com/cri-o/cri-o to a fixed version for your release line: 1.22.5, 1.23.3 or 1.24.1.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2022-1708 being exploited?

There is no known exploitation of CVE-2022-1708 in the wild and no public exploit code.

All Fedoraproject Fedora vulnerabilities

Sources

Also known as AZL-37071, GHSA-fcm2-6c3h-pg6j, GO-2022-0480, MGASA-2023-0240, RHSA-2022:4943, RHSA-2022:4951 and 8 more.

Is CVE-2022-1708 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free