Headline
CVE-2022-48538: 1.2.23 - Cacti PHP 8.2 LDAP Errors with php-ldap Installed · Issue #5189 · Cacti/cacti
In Cacti 1.2.19, there is an authentication bypass in the web login functionality because of improper validation in the PHP code: cacti_ldap_auth() allows a zero as the password.
This is basically the same issue as #5140 just with LDAP.
2023.01.24 08:40:11 - CMDPHP PHP ERROR Backtrace: (/index.php[25]:include(), /include/auth.php[158]:require_once(), /auth_login.php[99]:ldap_login_process(), /lib/auth.php[3513]:cacti_ldap_auth(), /lib/ldap.php[74]:CactiErrorHandler())
2023.01.24 08:40:11 - ERROR PHP DEPRECATED: Creation of dynamic property Ldap::$password is deprecated in file: /var/www/cacti/lib/ldap.php on line: 74
2023.01.24 08:40:11 - CMDPHP PHP ERROR Backtrace: (/index.php[25]:include(), /include/auth.php[158]:require_once(), /auth_login.php[99]:ldap_login_process(), /lib/auth.php[3513]:cacti_ldap_auth(), /lib/ldap.php[73]:CactiErrorHandler())
2023.01.24 08:40:11 - ERROR PHP DEPRECATED: Creation of dynamic property Ldap::$username is deprecated in file: /var/www/cacti/lib/ldap.php on line: 73
2023.01.24 08:40:11 - CMDPHP PHP ERROR Backtrace: (/index.php[25]:include(), /include/auth.php[158]:require_once(), /auth_login.php[99]:ldap_login_process(), /lib/auth.php[3513]:cacti_ldap_auth(), /lib/ldap.php[71]:Ldap->__construct(), /lib/ldap.php[425]:CactiErrorHandler())
2023.01.24 08:40:11 - ERROR PHP DEPRECATED: Creation of dynamic property Ldap::$specific_password is deprecated in file: /var/www/cacti/lib/ldap.php on line: 425
2023.01.24 08:40:11 - CMDPHP PHP ERROR Backtrace: (/index.php[25]:include(), /include/auth.php[158]:require_once(), /auth_login.php[99]:ldap_login_process(), /lib/auth.php[3513]:cacti_ldap_auth(), /lib/ldap.php[71]:Ldap->__construct(), /lib/ldap.php[424]:CactiErrorHandler())
2023.01.24 08:40:11 - ERROR PHP DEPRECATED: Creation of dynamic property Ldap::$specific_dn is deprecated in file: /var/www/cacti/lib/ldap.php on line: 424
2023.01.24 08:40:11 - CMDPHP PHP ERROR Backtrace: (/index.php[25]:include(), /include/auth.php[158]:require_once(), /auth_login.php[99]:ldap_login_process(), /lib/auth.php[3513]:cacti_ldap_auth(), /lib/ldap.php[71]:Ldap->__construct(), /lib/ldap.php[423]:CactiErrorHandler())
2023.01.24 08:40:11 - ERROR PHP DEPRECATED: Creation of dynamic property Ldap::$search_filter is deprecated in file: /var/www/cacti/lib/ldap.php on line: 423
Fixed it by declaring public variables:
class Ldap {
- public $dn,
$host,
$port,
$port_ssl,
$version,
$encryption,
$referrals,
$debug,
$group_require,
$group_dn,
$group_attrib,
$group_member_type,
$mode,
$search_base,
$search_filter,
$specific_dn,
$specific_password,
$username,
$password;