Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Perl app using DogStatsd
-
DeliveryFind input reflected into metric tag/name
-
ExploitSubmit payload with newline and pipe
-
ExecutionLibrary forwards unsanitised string to StatsD
-
PersistDatadog Agent parses injected metric line
-
ImpactPoisoned metrics corrupt dashboards and alerts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | Exploitation requires that the host Perl application call DataDog::DogStatsd's send_stats (directly or via the set/gauge/count/histogram wrappers) with attacker-influenced data in the $stat name, $delta value, or tags arguments - exactly the pattern shown in the module's own SYNOPSIS where a web form 'loginName' parameter is used as a tag. The attacker must be able to reach an input channel (HTTP form field, header, API parameter, log line) that the application forwards into one of those arguments without sanitisation. Limiting factors: applications that hard-code metric names and tags, or that allow-list characters before calling the library, are not exploitable; the StatsD UDP endpoint receiving the metrics must also be the application's intended monitoring backend (typically the local Datadog Agent), so impact is confined to corrupting the victim organisation's own observability data rather than affecting third parties. CVSS PR:N/UI:N is accurate only for the network path into the vulnerable application's input - no authentication to the StatsD daemon itself is needed because the Perl process speaks to it directly. |
| Impact | Signals here are sharply divergent and require careful interpretation. The CVSS 9.1 with AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:N is high because the scoring assumes confidentiality and integrity impact on the monitoring data stream, but real-world impact is bounded - this corrupts metrics/observability, not application data or code execution. EPSS of 0.03% (8th percentile) and absence from CISA KEV reflect that monitoring-corruption bugs in language-specific client libraries rarely attract opportunistic exploitation. No public exploit identified at time of analysis. The true risk hinges on whether the host application passes untrusted input (form fields, headers, usernames) directly into metric names or tags - the SYNOPSIS example shows exactly this anti-pattern, so vulnerable deployments are plausible. Treat as a medium-priority hygiene fix for any Perl service using this library with user-influenced metric labels; the headline 9.1 likely overstates urgency for most deployments. |
| Exploit ScenarioDerived | A Perl web application uses DataDog::DogStatsd to record a login attempt and, following the module's SYNOPSIS example, passes the submitted loginName as a tag. An attacker submits a loginName like 'admin\nattacker.metric:9999|c|#env:prod' which, when serialised by send_stats, breaks the StatsD line and injects an arbitrary 'attacker.metric' counter into Datadog, poisoning dashboards, triggering false alerts, or masking real anomalies. No public exploit identified at time of analysis, but the technique is mechanical and follows directly from the disclosed protocol-injection primitive. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 08, 2026
Metric injection in the Perl DataDog::DogStatsd client (versions through 0.07) allows remote attackers to forge or manipulate StatsD metrics by supplying unsanitised input containing newlines, pipes, or colons in stat names, values, or tags. With a CVSS 9.1 (AV:N/AC:L/PR:N/UI:N) rating and CWE-93 (CRLF Injection) classification, attackers can corrupt monitoring data, change metric name prefixes, or inject arbitrary metrics - the SYNOPSIS example of passing a web form 'loginName' parameter as a tag is explicitly called out as unsafe. EPSS is very low (0.03%) and no public exploit identified at time of analysis, but the trivial network attack profile means risk depends entirely on whether untrusted input reaches the library.
RemediationAI
No vendor-released patch version is identified in the provided data - the input states the issue affects versions through 0.07 but does not name a fixed release, so monitor CPAN and the Datadog repository for an updated DataDog::DogStatsd module above 0.07 and upgrade once available (https://nvd.nist.gov/vuln/detail/CVE-2026-9270 and https://seclists.org/oss-sec/2026/q2/826 are the authoritative tracking advisories). As compensating controls until a patched release ships, sanitise all caller-supplied data before passing it to send_stats: strip or reject newline (\n, \r), pipe (|), and colon (:) characters from the $stat name, the $delta value, and every tag string; in particular, never pass raw web form parameters (such as the 'loginName' shown in the module SYNOPSIS) as tags or stat names. Trade-offs: input sanitisation may drop legitimate characters from high-cardinality tags such as URLs and free-text fields, so prefer an allow-list of metric name characters ([A-Za-z0-9_.]) and constrain tags to known enumerations rather than user input. As a defense-in-depth control, network-restrict the StatsD UDP endpoint to localhost so injected metrics cannot be amplified across hosts.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
DataDog::DogStatsd is the Perl client library for sending StatsD/DogStatsD metrics to a Datadog Agent over UDP. The StatsD wire protocol is line-oriented and uses pipes (|) and colons (:) as field delimiters and newlines (\n) as record separators, so any unsanitised user data placed into the $stat name, $delta value, or tags array of send_stats can break out of the intended metric and inject additional metrics. This is a textbook CWE-93 (Improper Neutralization of CRLF Sequences) issue: the library trusts callers to pre-sanitise, but the documented SYNOPSIS encourages an unsafe pattern. The affected CPE is cpe:2.3:a:binary:datadog::dogstatsd:*:*:*:*:*:*:*:* covering all releases up to and including 0.07.
Know when Datadog gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionCVE.org
DataDog::DogStatsd versions through 0.07 for Perl allow metric injections.
DataDog::DogStatsd does not properly sanitise input, allowing metric injections of data from untrusted sources.
The send_stats method does not remove newlines from metric names ($stat variable), allowing attackers to change the metric name prefix.
The send_stats method does not validate the content of the value ($delta variable), allowing attackers to inject metrics, especially from methods that do not restrict the data type for the value, such as set, gauge, count and histogram.
The send_stats method does not validate the content of the tags, which may contain newlines, pipes and colons that allow metric injections.
Note that the SYNOPSIS shows an example of passing a website form "loginName" parameter as a tag, which is unsafe.
Executive ViewAI
The Perl DataDog StatsD client library (versions through 0.07) contains a metric injection vulnerability (CVSS 9.1) with no public exploit identified at time of analysis, but enables unauthenticated attackers to corrupt or forge monitoring metrics through unsanitized input. This directly compromises observability infrastructure integrity, potentially obscuring security incidents or triggering false alarms critical to incident detection. The absence of a vendor patch requires immediate application-level mitigation across all affected deployments.
Implement application-level input validation and sanitization (strip or block newlines, pipes, colons, special characters) for all data passed to DataDog::DogStatsd; restrict StatsD endpoint access to authorized internal systems only via network segmentation; deploy alerting on malformed or unexpected metric submissions. No vendor-released patch identified at time of analysis.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Metric and tag injection in the Perl DataDog::DogStatsd client (versions through 0.07) allows attackers who control even
Denial of service in Datadog's dd-trace-cpp distributed tracing library prior to 2.1.0: the W3C baggage extraction path
Unbounded CPU and memory consumption in the Datadog PHP Tracer (dd-trace-php) before 1.19.2 allows remote, unauthenticat
A missing permission check in Jenkins Datadog Plugin 5.4.1 and earlier allows attackers with Overall/Read permission to
The Datadog Plugin stores an API key to access the Datadog service in the global Jenkins configuration. Rated low severi
EUVD-2026-34846
GHSA-x9rg-6x4w-mpcx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB