FKIE_CVE-2026-59296

Vulnerability from fkie_nvd - Published: 2026-08-21 11:17 - Updated: 2026-08-21 17:16
Summary
Using untrusted, non-normalized input as-is for metrics data (such as metric names, tag keys, or tag values) is a dangerous antipattern that general-purpose instrumentation should never perform. When such unsafe instrumentation is used, the application becomes vulnerable to injection and spoofing attacks because micrometer-registry-statsd and micrometer-core do not sanitize newline characters (\n, \r) by default prior to this fix. * For the StatsD registry in micrometer-registry-statsd (when using the Datadog or Etsy flavor), because the StatsD protocol is newline-delimited, this allows for line-protocol injection (cross-metric spoofing). * For LoggingMeterRegistry in micrometer-core, because metric output is printed line-by-line to log files, this allows for both metric spoofing (if downstream log-metrics scrapers or parsers ingest the log lines as separate metrics) and general log spoofing. Specifically, an application is vulnerable when all the following are true: * The application uses a vulnerable version of io.micrometer:micrometer-registry-statsd or io.micrometer:micrometer-core. * The application uses the Datadog or Etsy flavor of the StatsD registry, or uses LoggingMeterRegistry. * The application instruments meters using user-controlled, unvalidated input for metric names, tag keys, or tag values. When vulnerable, an attacker can break out of the current metric or log line by injecting line terminators. This allows them to spoof arbitrary metrics (e.g., system load, standard JVM metrics, or other business metrics) across the metrics registry namespace (either directly via StatsD protocol or via downstream log-metric scrapers/parsers), as well as inject arbitrary log entries to spoof general log records.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "affected",
          "product": "Spring Micrometer",
          "vendor": "VMware",
          "versions": [
            {
              "status": "affected",
              "version": "1.17.0 - 1.17.0"
            },
            {
              "status": "affected",
              "version": "1.16.0 - 1.16.6"
            },
            {
              "status": "affected",
              "version": "1.15.0 - 1.15.12"
            },
            {
              "status": "affected",
              "version": "1.14.0 - 1.14.16"
            },
            {
              "status": "affected",
              "version": "1.9.18 and earlier"
            },
            {
              "status": "unaffected",
              "version": "1.17.0.1",
              "versionType": "enterprise support only"
            },
            {
              "status": "unaffected",
              "version": "1.17.1",
              "versionType": "oss"
            },
            {
              "status": "unaffected",
              "version": "1.16.6.1",
              "versionType": "enterprise support only"
            },
            {
              "status": "unaffected",
              "version": "1.16.7",
              "versionType": "oss"
            },
            {
              "status": "unaffected",
              "version": "1.15.13",
              "versionType": "enterprise support only"
            },
            {
              "status": "unaffected",
              "version": "1.14.17",
              "versionType": "enterprise support only"
            },
            {
              "status": "unaffected",
              "version": "1.9.19",
              "versionType": "enterprise support only"
            }
          ]
        }
      ],
      "source": "security@vmware.com"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Using untrusted, non-normalized input as-is for metrics data (such as metric names, tag keys, or tag values) is a dangerous antipattern that general-purpose instrumentation should never perform. When such unsafe instrumentation is used, the application becomes vulnerable to injection and spoofing attacks because\u00a0micrometer-registry-statsd\u00a0and\u00a0micrometer-core\u00a0do not sanitize newline characters (\\n,\u00a0\\r) by default prior to this fix.\n\n  *  For the StatsD registry in\u00a0micrometer-registry-statsd\u00a0(when using the\u00a0Datadog\u00a0or\u00a0Etsy\u00a0flavor), because the StatsD protocol is newline-delimited, this allows for line-protocol injection (cross-metric spoofing).\n  *  For\u00a0LoggingMeterRegistry\u00a0in\u00a0micrometer-core, because metric output is printed line-by-line to log files, this allows for both metric spoofing (if downstream log-metrics scrapers or parsers ingest the log lines as separate metrics) and general log spoofing.\n\n\n\n\nSpecifically, an application is vulnerable when all the following are true:\n\n  *  The application uses a vulnerable version of\u00a0io.micrometer:micrometer-registry-statsd\u00a0or\u00a0io.micrometer:micrometer-core.\n  *  The application uses the\u00a0Datadog\u00a0or\u00a0Etsy\u00a0flavor of the StatsD registry, or uses\u00a0LoggingMeterRegistry.\n  *  The application instruments meters using user-controlled, unvalidated input for metric names, tag keys, or tag values.\n\n\n\n\nWhen vulnerable, an attacker can break out of the current metric or log line by injecting line terminators. This allows them to spoof arbitrary metrics (e.g., system load, standard JVM metrics, or other business metrics) across the metrics registry namespace (either directly via StatsD protocol or via downstream log-metric scrapers/parsers), as well as inject arbitrary log entries to spoof general log records."
    }
  ],
  "id": "CVE-2026-59296",
  "lastModified": "2026-08-21T17:16:32.373",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "HIGH",
          "attackVector": "NETWORK",
          "availabilityImpact": "NONE",
          "baseScore": 5.9,
          "baseSeverity": "MEDIUM",
          "confidentialityImpact": "NONE",
          "integrityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N",
          "version": "3.1"
        },
        "exploitabilityScore": 2.2,
        "impactScore": 3.6,
        "source": "security@vmware.com",
        "type": "Secondary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-59296",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2026-08-21T11:55:29.457945Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2026-08-21T11:17:05.780",
  "references": [
    {
      "source": "security@vmware.com",
      "url": "https://spring.io/security/cve-2026-59296"
    }
  ],
  "sourceIdentifier": "security@vmware.com",
  "vulnStatus": "Received",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-74"
        }
      ],
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "type": "Secondary"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…