CVE-2024-39844
Published: 03 July 2024
Summary
CVE-2024-39844 is a critical-severity Code Injection (CWE-94) vulnerability in Znc (inferred from references). Its CVSS base score is 9.8 (Critical).
Operationally, ranked in the top 2.7% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
CVE-2024-39844 is a remote code execution vulnerability in the ZNC IRC bouncer prior to version 1.9.1. It resides in the modtcl module and is triggered when processing a KICK command, allowing arbitrary code execution through improper handling of Tcl input (CWE-94). The flaw carries a CVSS 3.1 score of 9.8, reflecting network-accessible exploitation with no required credentials or user interaction.
An unauthenticated remote attacker can send a crafted KICK command to a ZNC instance with modtcl loaded, resulting in execution of attacker-supplied code on the server. Successful exploitation grants full control over the affected process, including the ability to read or modify data and potentially pivot within the host environment.
The referenced advisories and ZNC release notes for version 1.9.1 indicate that the issue is resolved by upgrading to that version or later, which contains the necessary fixes in the modtcl handling logic. The changelog entries confirm the patch was included in the 1.9.1 maintenance release.
EPSS scores for the CVE have reached a peak of 0.3888 with a current value of 0.3714, indicating sustained moderate exploitation interest following disclosure. No reports of in-the-wild exploitation appear in the supplied references.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-38265
Vulnerability details
In ZNC before 1.9.1, remote code execution can occur in modtcl via a KICK.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Makes persistent code injection into loaded programs impossible when the executable image itself resides on hardware-protected read-only media.
Dynamically generated code can be produced and executed inside the isolated chamber, preventing host compromise from code-injection payloads.
Validates inputs used in dynamic code generation to block injected directives.
Directly prevents execution of attacker-supplied code written into data memory regions.