CVE Vulnerabilities

CVE-2022-31258

Improper Link Resolution Before File Access ('Link Following')

Published: May 20, 2022 | Modified: Nov 21, 2024
CVSS 3.x
6.7
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.2 HIGH
AV:L/AC:L/Au:N/C:C/I:C/A:C
RedHat/V2
RedHat/V3
Ubuntu
HIGH
root.io logo minimus.io logo echo.ai logo

In Checkmk before 1.6.0p29, 2.x before 2.0.0p25, and 2.1.x before 2.1.0b10, a site user can escalate to root by editing an OMD hook symlink.

Weakness

The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.

Affected Software

NameVendorStart VersionEnd Version
CheckmkCheckmk*1.6.0 (excluding)
CheckmkCheckmk1.6.0-b1 (including)1.6.0-b1 (including)
CheckmkCheckmk1.6.0-b10 (including)1.6.0-b10 (including)
CheckmkCheckmk1.6.0-b12 (including)1.6.0-b12 (including)
CheckmkCheckmk1.6.0-b3 (including)1.6.0-b3 (including)
CheckmkCheckmk1.6.0-b4 (including)1.6.0-b4 (including)
CheckmkCheckmk1.6.0-b5 (including)1.6.0-b5 (including)
CheckmkCheckmk1.6.0-b9 (including)1.6.0-b9 (including)
CheckmkCheckmk1.6.0-p1 (including)1.6.0-p1 (including)
CheckmkCheckmk1.6.0-p10 (including)1.6.0-p10 (including)
CheckmkCheckmk1.6.0-p11 (including)1.6.0-p11 (including)
CheckmkCheckmk1.6.0-p12 (including)1.6.0-p12 (including)
CheckmkCheckmk1.6.0-p13 (including)1.6.0-p13 (including)
CheckmkCheckmk1.6.0-p14 (including)1.6.0-p14 (including)
CheckmkCheckmk1.6.0-p15 (including)1.6.0-p15 (including)
CheckmkCheckmk1.6.0-p16 (including)1.6.0-p16 (including)
CheckmkCheckmk1.6.0-p19 (including)1.6.0-p19 (including)
CheckmkCheckmk1.6.0-p2 (including)1.6.0-p2 (including)
CheckmkCheckmk1.6.0-p20 (including)1.6.0-p20 (including)
CheckmkCheckmk1.6.0-p21 (including)1.6.0-p21 (including)
CheckmkCheckmk1.6.0-p22 (including)1.6.0-p22 (including)
CheckmkCheckmk1.6.0-p23 (including)1.6.0-p23 (including)
CheckmkCheckmk1.6.0-p24 (including)1.6.0-p24 (including)
CheckmkCheckmk1.6.0-p25 (including)1.6.0-p25 (including)
CheckmkCheckmk1.6.0-p26 (including)1.6.0-p26 (including)
CheckmkCheckmk1.6.0-p27 (including)1.6.0-p27 (including)
CheckmkCheckmk1.6.0-p28 (including)1.6.0-p28 (including)
CheckmkCheckmk1.6.0-p3 (including)1.6.0-p3 (including)
CheckmkCheckmk1.6.0-p4 (including)1.6.0-p4 (including)
CheckmkCheckmk1.6.0-p5 (including)1.6.0-p5 (including)
CheckmkCheckmk1.6.0-p6 (including)1.6.0-p6 (including)
CheckmkCheckmk1.6.0-p7 (including)1.6.0-p7 (including)
CheckmkCheckmk1.6.0-p8 (including)1.6.0-p8 (including)
CheckmkCheckmk1.6.0-p9 (including)1.6.0-p9 (including)
CheckmkCheckmk2.0.0 (including)2.0.0 (including)
CheckmkCheckmk2.0.0-b1 (including)2.0.0-b1 (including)
CheckmkCheckmk2.0.0-b2 (including)2.0.0-b2 (including)
CheckmkCheckmk2.0.0-b3 (including)2.0.0-b3 (including)
CheckmkCheckmk2.0.0-b4 (including)2.0.0-b4 (including)
CheckmkCheckmk2.0.0-b5 (including)2.0.0-b5 (including)
CheckmkCheckmk2.0.0-b6 (including)2.0.0-b6 (including)
CheckmkCheckmk2.0.0-b7 (including)2.0.0-b7 (including)
CheckmkCheckmk2.0.0-b8 (including)2.0.0-b8 (including)
CheckmkCheckmk2.0.0-i1 (including)2.0.0-i1 (including)
CheckmkCheckmk2.0.0-p1 (including)2.0.0-p1 (including)
CheckmkCheckmk2.0.0-p10 (including)2.0.0-p10 (including)
CheckmkCheckmk2.0.0-p11 (including)2.0.0-p11 (including)
CheckmkCheckmk2.0.0-p12 (including)2.0.0-p12 (including)
CheckmkCheckmk2.0.0-p13 (including)2.0.0-p13 (including)
CheckmkCheckmk2.0.0-p14 (including)2.0.0-p14 (including)
CheckmkCheckmk2.0.0-p15 (including)2.0.0-p15 (including)
CheckmkCheckmk2.0.0-p16 (including)2.0.0-p16 (including)
CheckmkCheckmk2.0.0-p17 (including)2.0.0-p17 (including)
CheckmkCheckmk2.0.0-p18 (including)2.0.0-p18 (including)
CheckmkCheckmk2.0.0-p19 (including)2.0.0-p19 (including)
CheckmkCheckmk2.0.0-p2 (including)2.0.0-p2 (including)
CheckmkCheckmk2.0.0-p20 (including)2.0.0-p20 (including)
CheckmkCheckmk2.0.0-p21 (including)2.0.0-p21 (including)
CheckmkCheckmk2.0.0-p22 (including)2.0.0-p22 (including)
CheckmkCheckmk2.0.0-p23 (including)2.0.0-p23 (including)
CheckmkCheckmk2.0.0-p24 (including)2.0.0-p24 (including)
CheckmkCheckmk2.0.0-p3 (including)2.0.0-p3 (including)
CheckmkCheckmk2.0.0-p4 (including)2.0.0-p4 (including)
CheckmkCheckmk2.0.0-p5 (including)2.0.0-p5 (including)
CheckmkCheckmk2.0.0-p6 (including)2.0.0-p6 (including)
CheckmkCheckmk2.0.0-p7 (including)2.0.0-p7 (including)
CheckmkCheckmk2.0.0-p8 (including)2.0.0-p8 (including)
CheckmkCheckmk2.0.0-p9 (including)2.0.0-p9 (including)
CheckmkCheckmk2.1.0-b1 (including)2.1.0-b1 (including)
CheckmkCheckmk2.1.0-b2 (including)2.1.0-b2 (including)
CheckmkCheckmk2.1.0-b3 (including)2.1.0-b3 (including)
CheckmkCheckmk2.1.0-b4 (including)2.1.0-b4 (including)
CheckmkCheckmk2.1.0-b5 (including)2.1.0-b5 (including)
CheckmkCheckmk2.1.0-b6 (including)2.1.0-b6 (including)
CheckmkCheckmk2.1.0-b7 (including)2.1.0-b7 (including)
CheckmkCheckmk2.1.0-b8 (including)2.1.0-b8 (including)
CheckmkCheckmk2.1.0-b9 (including)2.1.0-b9 (including)
CheckmkTribe291.6.0b10 (including)1.6.0b10 (including)
CheckmkTribe291.6.0b11 (including)1.6.0b11 (including)
CheckmkTribe291.6.0p10 (including)1.6.0p10 (including)
CheckmkTribe291.6.0p11 (including)1.6.0p11 (including)
CheckmkTribe291.6.0p12 (including)1.6.0p12 (including)
CheckmkTribe291.6.0p13 (including)1.6.0p13 (including)
CheckmkTribe291.6.0p14 (including)1.6.0p14 (including)
CheckmkTribe291.6.0p15 (including)1.6.0p15 (including)
CheckmkTribe291.6.0p16 (including)1.6.0p16 (including)
CheckmkTribe291.6.0p17 (including)1.6.0p17 (including)
CheckmkTribe291.6.0p18 (including)1.6.0p18 (including)
Check-mkUbuntuupstream*

Potential Mitigations

  • Follow the principle of least privilege when assigning access rights to entities in a software system.
  • Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.

References