CVE-2024-29210 Overview
A local privilege escalation (LPE) vulnerability has been identified in Phish Alert Button for Outlook (PAB), specifically within its configuration management functionalities. This vulnerability allows a regular user to modify the application's configuration file to redirect update checks to an arbitrary server, which can then be exploited in conjunction with CVE-2024-29209 to execute arbitrary code with elevated privileges.
The issue stems from improper permission settings on the application's configuration file, which is stored in a common directory accessible to all users. This file includes critical parameters, such as the update server URL. By default, the application does not enforce adequate access controls on this file, allowing non-privileged users to modify it without administrative consent.
Critical Impact
This vulnerability can lead to a regular user executing code with administrative privileges, resulting in unauthorized access to sensitive data, installation of additional malware, and full takeover of the affected system.
Affected Products
- Phish Alert Button (PAB) for Outlook versions 1.10.0-1.10.11
- Second Chance Client versions 2.0.0-2.0.9
- PIQ Client versions 1.0.0-1.0.15
Discovery Timeline
- Discovery - Vulnerability discovered by Ceri Coburn at Pen Test Partners
- 2024-05-07 - CVE CVE-2024-29210 published to NVD
- 2024-11-21 - Last updated in NVD database
Technical Details for CVE-2024-29210
Vulnerability Analysis
This local privilege escalation vulnerability (CWE-269: Improper Privilege Management) arises from insecure file permissions on the PAB configuration file. The configuration file resides in a common directory accessible to all users on the system, allowing any authenticated local user to modify its contents without requiring administrative privileges.
The attack scenario requires local access to exploit. An attacker with regular user access can alter the update server URL specified in the configuration file to point to a malicious server. When the application performs its next update check, it will contact the attacker-controlled server. If the system is also vulnerable to CVE-2024-29209, the attacker can deliver a malicious update package that, when executed, grants them elevated privileges.
Root Cause
The root cause of this vulnerability is improper permission settings on the application's configuration file. The configuration file is stored in a common directory accessible to all users and includes critical parameters such as the update server URL. By default, the application does not enforce adequate access controls on this file, allowing non-privileged users to modify it without administrative consent.
This represents a classic insecure permissions vulnerability where sensitive configuration data is not adequately protected from modification by low-privileged users.
Attack Vector
An attacker with regular user access can exploit this vulnerability through the following attack chain:
- Identify the PAB configuration file in the common directory
- Modify the update server URL parameter to point to an attacker-controlled server
- Wait for the application to perform its next scheduled update check
- Serve a malicious update package from the attacker-controlled server
- If combined with CVE-2024-29209, execute arbitrary code with elevated privileges
The vulnerability requires local access and user interaction (the application must perform an update check), but does not require any special privileges to exploit initially.
Detection Methods for CVE-2024-29210
Indicators of Compromise
- Unexpected modifications to the PAB configuration file, particularly the update server URL parameter
- Network connections from PAB processes to unknown or suspicious external servers
- Unusual process execution chains originating from PAB update processes
- File system audit events showing non-administrator users modifying PAB configuration files
Detection Strategies
- Monitor file integrity of the PAB configuration file for unauthorized changes
- Implement network monitoring to detect connections to unauthorized update servers
- Enable Windows Security auditing for file access events on PAB installation directories
- Deploy endpoint detection to identify privilege escalation attempts following configuration modifications
Monitoring Recommendations
- Configure file integrity monitoring (FIM) on PAB configuration directories
- Establish baseline network behavior for PAB update communications and alert on deviations
- Monitor for process creation events where PAB update processes spawn unexpected child processes
- Review Windows Event Logs for security events related to file permission changes
How to Mitigate CVE-2024-29210
Immediate Actions Required
- Verify that the latest version of Phish Alert Button is installed across all systems
- Manually audit configuration file permissions to ensure only administrators have write access
- Review network logs for any connections to unauthorized update servers
- Check for indicators of compromise on systems running affected versions
Patch Information
KnowBe4 has released a patch that corrects the permission settings on the configuration file to prevent unauthorized modifications. Automated updates will be pushed to address this issue. Users of affected versions should verify the latest version is applied and, if not, apply the latest updates provided by KnowBe4.
For detailed patch information, refer to the KnowBe4 Security Advisory.
Workarounds
- Manually set the correct permissions on the configuration file to restrict write access to administrators only
- Use Windows Group Policy to enforce file permissions on the PAB configuration directory
- Implement application whitelisting to prevent unauthorized executables from running via the update mechanism
- Consider network-level controls to restrict PAB update communications to known legitimate servers only
# Windows PowerShell - Restrict configuration file permissions to administrators only
# Replace <path_to_config_file> with the actual configuration file path
icacls "<path_to_config_file>" /inheritance:r /grant:r "BUILTIN\Administrators:(F)" /grant:r "NT AUTHORITY\SYSTEM:(F)"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

