CVE-2024-20506
Medium · 6.1CVSS
6.1
EPSS
0.3%
Published
Sep 4, 2024
CISA due date
—
Cloudanix analysis
Someone with access to a computer using this antivirus tool could damage important system files and cause crashes or outages.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Application
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows the privileged ClamD process to write log data to a file replaced by a symbolic link pointing to a critical system file, enabling corruption of the target via appended log messages after a process restart.
Why it matters to the business
Attackers with local access can cause system instability, data corruption, or service outages on systems using ClamAV for scanning, potentially requiring recovery efforts and disrupting email, file, or endpoint protection workflows.
How an attack unfolds
A local authenticated attacker replaces the ClamD log file with a symlink to a critical system file, restarts the ClamD service, and triggers log writes that append data and corrupt the linked target file.
How to fix it
Upgrade to the fixed version available in commit 93d9e734200ad2eec6d1af6d52e0a4b7a7ae5d26 or later releases that validate log file targets before writing.
How to confirm the fix worked
Confirm ClamAV is updated past vulnerable versions 1.4.0, 1.3.2, 1.2.x, 1.0.6, 0.105.x, 0.104.x, and 0.103.11; test that log writes fail or are rejected when the log path is a symlink.
Typical attack path
- Obtain local authenticated access on the target system
- Replace the ClamD log file with a symbolic link to a critical system file
- Restart the ClamD process
- Trigger log writes to append data and corrupt the target file
How to detect it
Review system and ClamD logs for unexpected service restarts, check for symlink replacements on log paths, and inspect critical system files for unexpected appended content matching ClamD log formats.
- clamd.log replaced by symlink
- clamd process appending to /etc/passwd or similar system paths
- unexpected clamd restarts followed by file corruption events
What your security team should do
- Apply the patch from commit 93d9e734200ad2eec6d1af6d52e0a4b7a7ae5d26 without delay
- Restrict local write access to ClamD log directories
- Harden service restart permissions for ClamD
- Implement file integrity monitoring on critical system paths
The record
A vulnerability in the ClamD service module of Clam AntiVirus (ClamAV) versions 1.4.0, 1.3.2 and prior versions, all 1.2.x versions, 1.0.6 and prior versions, all 0.105.x versions, all 0.104.x versions, and 0.103.11 and all prior versions could allow an authenticated, local attacker to corrupt critical system files. The vulnerability is due to allowing the ClamD process to write to its log file while privileged without checking if the logfile has been replaced with a symbolic link. An attacker could exploit this vulnerability if they replace the ClamD log file with a symlink to a critical system file and then find a way to restart the ClamD process. An exploit could allow the attacker to corrupt a critical system file by appending ClamD log messages after restart.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | clamav | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.3 | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-clamdscan | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-daemon | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-db | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-dev | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-doc | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-freshclam | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-libunrar | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-milter | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.3-scanner | 0 | 1.3.2-r0 |
| Chainguard | clamav-1.4 | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-clamdscan | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-daemon | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-db | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-dev | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-doc | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-docker | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-freshclam | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-libunrar | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-milter | 0 | 1.4.1-r0 |
| Chainguard | clamav-1.4-scanner | 0 | 1.4.1-r0 |
| Chainguard | clamav-clamdscan | 0 | 1.4.1-r0 |
| Chainguard | clamav-daemon | 0 | 1.4.1-r0 |
| Chainguard | clamav-db | 0 | 1.4.1-r0 |
| Chainguard | clamav-dev | 0 | 1.4.1-r0 |
| Chainguard | clamav-doc | 0 | 1.4.1-r0 |
| Chainguard | clamav-libunrar | 0 | 1.4.1-r0 |
| Chainguard | clamav-milter | 0 | 1.4.1-r0 |
| Chainguard | clamav-scanner | 0 | 1.4.1-r0 |
| Chainguard | freshclam | 0 | 1.4.1-r0 |
| Debian:11 | clamav | 0 | No fix |
| Debian:11 | clamav | 0 | 1.0.7+dfsg-1~deb11u1 |
| Debian:12 | clamav | 0 | No fix |
| Debian:12 | clamav | 0 | 1.0.7+dfsg-1~deb12u1 |
| Debian:13 | clamav | 0 | No fix |
| Debian:13 | clamav | 0 | 1.4.1+dfsg-1 |
| Debian:14 | clamav | 0 | 1.4.1+dfsg-1 |
| Mageia:9 | clamav | 0 | 1.0.7-1.mga9 |
| SUSE:Enterprise Storage 7.1 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Enterprise Storage 7.1 | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Micro 5.5 | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | clamav | 0 | 0.103.12-150600.18.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | clamav | 0 | 1.4.2-150600.18.6.1 |
| SUSE:Linux Enterprise Server 12 SP5 | clamav | 0 | 0.103.12-3.33.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | clamav | 0 | 1.4.2-3.36.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | clamav | 0 | 1.4.2-3.36.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | clamav | 0 | 0.103.12-3.33.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Manager Proxy 4.3 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Manager Proxy 4.3 | clamav | 0 | 1.4.2-150200.8.3.1 |
| SUSE:Manager Server 4.3 | clamav | 0 | 0.103.12-150000.3.53.1 |
| SUSE:Manager Server 4.3 | clamav | 0 | 1.4.2-150200.8.3.1 |
| Ubuntu:20.04:LTS | clamav | 0 | 0.103.12+dfsg-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | clamav | 0 | 0.103.12+dfsg-0ubuntu0.22.04.1 |
| Ubuntu:24.04:LTS | clamav | 0 | 1.0.7+dfsg-0ubuntu0.24.04.1 |
| Ubuntu:24.10 | clamav | 0 | 1.3.1+dfsg-5ubuntu2 |
| Ubuntu:25.04 | clamav | 0 | 1.3.1+dfsg-5ubuntu2 |
| Ubuntu:Pro:14.04:LTS | clamav | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | clamav | 0 | 0.103.12+dfsg-0ubuntu0.16.04.1+esm1 |
| Ubuntu:Pro:18.04:LTS | clamav | 0 | 0.103.12+dfsg-0ubuntu0.18.04.1+esm1 |
| Wolfi | clamav | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.3 | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-clamdscan | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-daemon | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-db | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-dev | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-doc | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-freshclam | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-libunrar | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-milter | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.3-scanner | 0 | 1.3.2-r0 |
| Wolfi | clamav-1.4 | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-clamdscan | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-daemon | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-db | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-dev | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-doc | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-docker | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-freshclam | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-libunrar | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-milter | 0 | 1.4.1-r0 |
| Wolfi | clamav-1.4-scanner | 0 | 1.4.1-r0 |
| Wolfi | clamav-clamdscan | 0 | 1.4.1-r0 |
| Wolfi | clamav-daemon | 0 | 1.4.1-r0 |
| Wolfi | clamav-db | 0 | 1.4.1-r0 |
| Wolfi | clamav-dev | 0 | 1.4.1-r0 |
| Wolfi | clamav-doc | 0 | 1.4.1-r0 |
| Wolfi | clamav-libunrar | 0 | 1.4.1-r0 |
| Wolfi | clamav-milter | 0 | 1.4.1-r0 |
| Wolfi | clamav-scanner | 0 | 1.4.1-r0 |
| Wolfi | freshclam | 0 | 1.4.1-r0 |
| openSUSE:Leap 15.5 | clamav | 0 | 0.103.12-150000.3.53.1 |
| openSUSE:Leap 15.6 | clamav | 0 | 0.103.12-150600.18.3.1 |
| openSUSE:Leap 15.6 | clamav | 0 | 1.4.2-150600.18.6.1 |
| openSUSE:Tumbleweed | clamav | 0 | 1.4.1-1.1 |
Related vulnerabilities
- CVE-2024-20505 A vulnerability in the PDF parsing module of Clam AntiVirus (ClamAV) versions 1.4.0… Also affects clamav
- CVE-2024-20328 A vulnerability in the VirusEvent feature of ClamAV could allow a local attacker to… Also affects clamav
- CVE-2024-20290 A vulnerability in the OLE2 file format parser of ClamAV could allow an unauthenticated… Also affects clamav
- CVE-2026-20031 A vulnerability in the HTML Cascading Style Sheets (CSS) module of ClamAV could allow an… Also affects clamav-1.4
- CVE-2025-20128 A vulnerability in the Object Linking and Embedding 2 (OLE2) decryption routine of ClamAV… Also affects clamav-1.4
- HSEC-2024-0002 out-of-bounds write when there are many bzip2 selectors Also affects clamav
- CVE-2023-20197 A vulnerability in the filesystem image parser for Hierarchical File System Plus (HFS+)… Also affects clamav
- CVE-2023-20052 On Feb 15, 2023, the following vulnerability in the ClamAV scanning library was… Also affects clamav