Raw vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:HSummary
CVE-2024-3187 is a medium-severity Double Free (CWE-415) vulnerability. Its CVSS base score is 5.9 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Client Execution (T1203); ranked at the 40th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2024-3187 tracks two use-after-free issues and one double-free vulnerability in GoAhead versions 6.0.0 and earlier. The flaws occur when JST values are not nulled after being freed during template parsing; they are reachable only when the ME_GOAHEAD_JAVASCRIPT compile-time flag is enabled.
An attacker who can modify JavaScript template files on the target system can supply malicious JST content that triggers memory corruption. Successful exploitation may produce a denial of service and, in limited contexts, arbitrary code execution; the CVSS vector reflects network attack reachability combined with high attack complexity and low privileges.
The single referenced advisory is hosted at Nozomi Networks Labs; it contains no additional mitigation details beyond the conditions already described in the CVE entry. EPSS for the vulnerability rose from a low baseline to a recorded peak of 0.0759 before receding to its current value of 0.0427, indicating a period of increased exploitation interest after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-31779
Vulnerability Data
This issue tracks two CWE-416 Use After Free (UAF) and one CWE-415 Double Free vulnerabilities in Goahead versions <= 6.0.0. These are caused by JST values not being nulled when freed during parsing of JST templates. If the ME_GOAHEAD_JAVASCRIPT flag…
more
is enabled, a remote attacker with the privileges to modify JavaScript template (JST) files could exploit this by providing malicious templates. This may lead to memory corruption, potentially causing a Denial of Service (DoS) or, in rare cases, code execution, though the latter is highly context-dependent.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 4 hardening rules · 3 OS baselines
V1.4.3
Mitigating Controls (NIST 800-53 r5) AI
Developer testing and evaluation explicitly includes dynamic analysis and fuzzing that locate double-free defects before release.
Security engineering principles can require memory-safe allocation patterns or language features that structurally eliminate double-free opportunities.
Process isolation confines the blast radius of use-after-free memory corruption to a single execution domain.
Memory protection controls limit exploitation impact by blocking unauthorized code execution from dangling pointers.
Flaw remediation processes require identification and correction of memory-management defects such as double free once discovered.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly prevent double-free errors via static analysis, safe memory APIs, and testing.
Vulnerability identification processes can discover use-after-free issues via scanning or analysis but do not prevent their introduction.
Routine patching removes known use-after-free instances after they have been introduced in released software.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing in development can detect double-free conditions before release.
Secure development life cycle includes memory-safety practices that can prevent double-free bugs.
Application security requirements can mandate memory-safety rules that reduce double-free risk.
Secure system architecture and engineering principles can prescribe safe memory-management patterns.
Secure coding standards directly address proper use of free() and similar functions.
Change-management processes help ensure memory-safety fixes are deployed consistently.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (2 rules)
- V-248590 OL 8 must clear the page allocator to prevent use-after-free attacks. prevents CWE-415
- V-248592 OL 8 must clear memory when it is freed to prevent use-after-free attacks. prevents CWE-416
RHEL 8 (1 rule)
- V-230279 RHEL 8 must clear memory when it is freed to prevent use-after-free attacks. prevents CWE-416
RHEL 9 (1 rule)
- V-257794 RHEL 9 must clear memory when it is freed to prevent use-after-free attacks. prevents CWE-416