Cloudanix VulnDB

CVE-2024-34340

Critical · 9.1

CVSS

9.1

EPSS

1.1%

Published

May 14, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in the way the monitoring tool checks passwords lets attackers log in without knowing the real password, giving them full access to sensitive network information.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Privilege Gain
Component
Application
Class
Authentication Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The compat_password_verify function performs a loose equality comparison ($md5 == $hash) between an MD5 hash of user-supplied input and the stored password hash, enabling type juggling that can authenticate an attacker without the correct password.

Why it matters to the business

Attackers can gain unauthorized access to the monitoring platform, exposing operational data, network topology, and device credentials while bypassing all authentication controls.

How an attack unfolds

An unauthenticated attacker submits a crafted password value during login; the server computes its MD5 and compares it loosely to the database hash; type juggling causes the comparison to succeed, granting a valid session without knowledge of the real password.

How to fix it

Upgrade Cacti to version 1.2.27 or later; on Debian 11 apply the fixed package version 5.10.191-1 for the affected component.

How to confirm the fix worked

Confirm the installed Cacti version is 1.2.27 or newer; verify that password verification logic uses strict comparison (===) or modern password_hash/password_verify functions.

Typical attack path

  1. Identify a Cacti login endpoint
  2. Craft a password input that triggers MD5 type juggling against the stored hash
  3. Submit the value via the authentication form
  4. Obtain a valid authenticated session
  5. Access or modify monitoring data and device configurations

How to detect it

Review web server and application logs for successful authentication events without corresponding failed attempts or from unexpected source IPs; look for login requests containing numeric or specially formatted password fields around the time of the vulnerability disclosure.

What your security team should do

  • Immediately upgrade all Cacti instances to the fixed version
  • Audit authentication logs for anomalous successful logins prior to the upgrade
  • Restrict network access to the Cacti web interface until patched
  • Review stored password hashes and consider forcing password resets after remediation

The record

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, Cacti calls `compat_password_hash` when users set their password. `compat_password_hash` use `password_hash` if there is it, else use `md5`. When verifying password, it calls `compat_password_verify`. In `compat_password_verify`, `password_verify` is called if there is it, else use `md5`. `password_verify` and `password_hash` are supported on PHP < 5.5.0, following PHP manual. The vulnerability is in `compat_password_verify`. Md5-hashed user input is compared with correct password in database by `$md5 == $hash`. It is a loose comparison, not `===`. It is a type juggling vulnerability. Version 1.2.27 contains a patch for the issue.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 cacti 0 1.2.16+ds1-2+deb11u4
Debian:12 cacti 0 1.2.24+ds1-1+deb12u3
Debian:13 cacti 0 1.2.27+ds1-1
SUSE:Package Hub 12 cacti 0 1.2.27-bp155.2.9.1
SUSE:Package Hub 12 cacti-spine 0 1.2.27-bp155.2.9.1
SUSE:Package Hub 15 SP5 cacti 0 1.2.27-bp155.2.9.1
SUSE:Package Hub 15 SP5 cacti-spine 0 1.2.27-bp155.2.9.1
SUSE:Package Hub 15 SP6 cacti 0 1.2.27-bp156.2.3.1
SUSE:Package Hub 15 SP6 cacti-spine 0 1.2.27-bp156.2.3.1
Ubuntu:20.04:LTS cacti 0 No fix
Ubuntu:20.04:LTS cacti 0 1.2.10+ds1-1ubuntu1.1
Ubuntu:22.04:LTS cacti 0 No fix
Ubuntu:22.04:LTS cacti 0 1.2.19+ds1-2ubuntu1.1
Ubuntu:24.04:LTS cacti 0 No fix
Ubuntu:24.04:LTS cacti 0 1.2.26+ds1-1ubuntu0.1
Ubuntu:Pro:14.04:LTS cacti 0 No fix
Ubuntu:Pro:14.04:LTS cacti 0 0.8.8b+dfsg-5ubuntu0.2+esm2
Ubuntu:Pro:16.04:LTS cacti 0 No fix
Ubuntu:Pro:16.04:LTS cacti 0 0.8.8f+ds1-4ubuntu4.16.04.2+esm2
Ubuntu:Pro:18.04:LTS cacti 0 No fix
Ubuntu:Pro:18.04:LTS cacti 0 1.1.38+ds1-1ubuntu0.1~esm3
openSUSE:Leap 15.5 cacti 0 1.2.27-bp155.2.9.1
openSUSE:Leap 15.5 cacti-spine 0 1.2.27-bp155.2.9.1
openSUSE:Leap 15.6 cacti 0 1.2.27-bp156.2.3.1
openSUSE:Leap 15.6 cacti-spine 0 1.2.27-bp156.2.3.1
openSUSE:Tumbleweed cacti 0 1.2.27-1.1

Related vulnerabilities