Cloudanix VulnDB

CVE-2026-32285

High · 7.5

CVSS

7.5

EPSS

1.0%

Published

Mar 26, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in a JSON processing component can let someone send bad data that crashes an affected application.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2026-32285 is a denial-of-service flaw in the jsonparser project's Delete function. When malformed JSON causes offset calculations to become invalid, the function can produce a negative slice index and trigger a Go runtime panic. In applications that process attacker-controlled JSON and do not recover from panics, a single crafted request or message can terminate the affected process, causing service unavailability. The CVSS vector indicates network exploitability, low attack complexity, no authentication requirement, and high availability impact, with no direct confidentiality or integrity impact.

Why it matters to the business

Applications, APIs, workers, or data-processing services that use the affected jsonparser Delete function on untrusted JSON may be crashed remotely, interrupting service availability and potentially causing failed transactions, queue backlogs, degraded customer experience, or repeated restarts. Current public exploitation signals are low: EPSS is 0.0075 and flat over 30 days, there is no known CISA KEV listing, no ransomware association, and no reported exploit maturity; however, the vulnerability is simple to trigger where reachable because it requires no privileges or user interaction.

How an attack unfolds

An attacker first identifies an application endpoint, API, webhook, ingestion pipeline, or message consumer that accepts JSON and passes that data to the jsonparser Delete function. The attacker then sends malformed JSON structured to confuse offset validation during deletion logic. When the library calculates slice boundaries, the malformed offsets can result in a negative slice index. In Go, this causes a runtime panic such as a slice-bounds error. If the application lacks panic recovery around request or message handling, the panic can crash the process. The attacker can repeat the request to keep the service unstable or unavailable, especially if process supervisors automatically restart it without blocking the offending input source.

How to fix it

Upgrade the affected jsonparser dependency to a vendor-confirmed fixed release as soon as one is available. No fixed versions were provided in the input, so engineering teams should monitor the upstream jsonparser project advisory, package registry, and release notes for the corrected version and pin to that version once published. Until a fix is available or fully deployed, avoid passing untrusted or malformed JSON directly to Delete; validate JSON syntax before invoking Delete; add defensive bounds checking around deletion logic where wrapping code is possible; implement panic recovery in HTTP handlers, queue consumers, and background workers; reject oversized or malformed JSON at the API gateway or application boundary; apply rate limits to JSON-ingestion endpoints; and ensure process supervisors restart crashed services while alerting on crash loops. Where practical, replace vulnerable usage with a parser or deletion routine that safely handles malformed input.

How to confirm the fix worked

Confirm exposure by producing a software bill of materials or dependency inventory and locating applications that import or vendor the affected jsonparser project and call Delete on externally supplied JSON. Verify remediation by confirming the deployed artifact uses a fixed upstream version once available, or that the vulnerable dependency is removed or replaced. In staging, test representative malformed JSON inputs against endpoints or workers that previously reached Delete and confirm they return controlled errors rather than panicking or terminating. Review runtime logs after validation tests for absence of Go panic messages, slice-bounds errors, stack traces referencing jsonparser Delete, process restarts, container restarts, or crash-loop events. Also confirm that request-size limits, JSON validation, rate limiting, and panic-recovery middleware are active on affected paths.

Typical attack path

  1. Identify an exposed service or processing path that accepts JSON from unauthenticated or low-trust sources.
  2. Determine that the application performs JSON field deletion using the affected jsonparser Delete functionality.
  3. Send specially malformed JSON that leads to invalid offset calculation during Delete processing.
  4. Trigger a Go runtime panic caused by a negative slice index or slice-bounds violation.
  5. Cause the affected process, worker, or request handler to terminate if panic recovery is not in place.
  6. Repeat malformed requests or messages to sustain denial of service and exhaust operational recovery mechanisms.

How to detect it

To determine whether this was already exploited, review application logs, container logs, process supervisor logs, API gateway logs, load balancer logs, and message-consumer logs for crashes or panics occurring immediately after malformed JSON requests or messages. Look for Go runtime panic entries, slice-bounds or negative-index errors, and stack traces that reference jsonparser Delete. Correlate panic timestamps with inbound HTTP requests containing invalid JSON, unusual content lengths, repeated 400/500 responses, or repeated requests from the same source IP, user agent, API key, or message producer. In containerized environments, check orchestrator events for restart spikes, CrashLoopBackOff conditions, liveness probe failures, and short-lived container instances. In queue-based architectures, inspect dead-letter queues or poison-message handling for malformed JSON payloads that repeatedly crash consumers. There are no known public exploit-specific network signatures from the provided data, so detection should focus on runtime crash artifacts and malformed JSON activity preceding service restarts.

  • panic: runtime error: slice bounds out of range
  • panic: runtime error: slice bounds out of range [:-
  • slice bounds out of range [:-
  • negative slice index
  • jsonparser.Delete
  • github.com/buger/jsonparser.Delete
  • runtime.goexit
  • CrashLoopBackOff
  • Back-off restarting failed container
  • liveness probe failed
  • readiness probe failed

What your security team should do

  • Inventory all services, APIs, workers, and third-party components that use the jsonparser project, especially code paths invoking Delete on untrusted JSON.
  • Prioritize internet-facing JSON ingestion endpoints and unauthenticated APIs for mitigation because the flaw is network-exploitable with no required privileges.
  • Ask engineering teams to add or verify panic recovery around request handlers and message consumers so malformed input cannot terminate the whole process.
  • Deploy JSON syntax validation, request-size limits, and rate limiting at application and gateway layers for affected services.
  • Monitor upstream jsonparser releases and apply the first vendor-confirmed fixed version promptly; pin dependencies rather than allowing ambiguous floating versions.
  • Create alerts for Go panic logs, slice-bounds errors, stack traces involving jsonparser.Delete, abnormal process restarts, and container crash loops following malformed JSON requests.
  • Because EPSS is currently low and the issue is not in KEV, treat this as important availability hardening rather than an active widespread exploitation emergency unless local telemetry shows crash attempts.

The record

The Delete function fails to properly validate offsets when processing malformed JSON input. This can lead to a negative slice index and a runtime panic, allowing a denial of service attack.

Affected packages

Ecosystem Package Introduced Fixed
Chainguard cg 0 0.2.225-r0
Chainguard chainloop-cli 0 1.83.0-r1
Chainguard chainloop-cli-fips 0 1.83.0-r1
Chainguard chainloop-control-plane 0 1.83.0-r1
Chainguard chainloop-control-plane-fips 0 1.83.0-r1
Chainguard commercial-grafana-11.6 0 11.6.14-r0
Chainguard commercial-grafana-12.1 0 12.1.10-r0
Chainguard commercial-grafana-12.2 0 12.2.8-r0
Chainguard commercial-grafana-12.3 0 12.3.6-r0
Chainguard commercial-grafana-12.4 0 12.4.2-r0
Chainguard cri-tools 0 1.35.0-r7
Chainguard crictl 0 1.35.0-r7
Chainguard dagger 0 0.20.2-r0
Chainguard datadog-agent-7.71 0 0
Chainguard datadog-agent-7.72 0 0
Chainguard datadog-agent-7.73 0 0
Chainguard datadog-agent-7.74 0 7.74.1-r11
Chainguard datadog-agent-7.76 0 7.76.3-r3
Chainguard datadog-agent-fips-7.71 0 0
Chainguard datadog-agent-fips-7.72 0 7.72.4-r8
Chainguard datadog-agent-fips-7.73 0 7.73.3-r7
Chainguard datadog-agent-fips-7.74 0 0
Chainguard datadog-agent-fips-7.76 0 7.76.3-r3
Chainguard deck 0 1.56.0-r2
Chainguard deck-fips 0 1.56.0-r3
Chainguard dgraph 0 25.3.0-r3
Chainguard eksctl 0 0.224.0-r7
Chainguard gitlab-runner-18.7 0 18.7.2-r10
Chainguard gitlab-runner-18.8 0 18.8.0-r5
Chainguard gitlab-runner-18.9 0 18.9.0-r4
Chainguard gitlab-runner-fips-18.8 0 18.8.0-r6
Chainguard gitlab-runner-fips-18.9 0 18.9.0-r4
Chainguard gitlab-runner-helper-18.7 0 18.7.2-r10
Chainguard gitlab-runner-helper-18.8 0 18.8.0-r5
Chainguard gitlab-runner-helper-18.9 0 18.9.0-r4
Chainguard gitlab-runner-helper-fips-18.8 0 18.8.0-r6
Chainguard gitlab-runner-helper-fips-18.9 0 18.9.0-r4
Chainguard google-cloud-otel-ops-collector 0 0
Chainguard goreleaser 0 2.14.3-r3
Chainguard grafana-11.6 0 11.6.13-r2
Chainguard grafana-12.1 0 12.1.9-r2
Chainguard grafana-12.2 0 12.2.7-r2
Chainguard grafana-12.3 0 12.3.5-r2
Chainguard grafana-12.4 0 12.4.1-r2
Chainguard grafana-alloy 0 1.14.1-r2
Chainguard grafana-alloy-fips 0 1.14.1-r2
Chainguard grafana-beyla 0 3.6.0-r1
Chainguard grafana-fips-11.6 0 11.6.13-r4
Chainguard grafana-fips-12.1 0 12.1.9-r4
Chainguard grafana-fips-12.2 0 12.2.7-r2
Chainguard grafana-fips-12.3 0 12.3.5-r3
Chainguard grafana-fips-12.4 0 12.4.2-r0
Chainguard influxd-2.7 0 2.7.12-r15
Chainguard jfrog-cli 0 2.96.0-r2
Chainguard k3s 0 1.35.2.1-r2
Chainguard k3s-1.31 0 1.31.6.1-r15
Chainguard k3s-1.32 0 1.32.13.1-r6
Chainguard k3s-1.33 0 1.33.9.1-r4
Chainguard k3s-static 0 1.35.2.1-r2
Chainguard k3s-static-1.31 0 1.31.6.1-r15
Chainguard k3s-static-1.32 0 1.32.13.1-r6
Chainguard k3s-static-1.33 0 1.33.9.1-r4
Chainguard k8sgpt 0 0.4.30-r4
Chainguard kubevela-vela-cli 0 1.10.7-r5
Chainguard kubevela-vela-cli-fips 0 1.10.7-r6
Chainguard kubevela-vela-core 0 1.10.7-r5
Chainguard kubevela-vela-core-fips 0 1.10.7-r6
Chainguard lazygit 0 0.60.0-r4
Chainguard loki-2.9 0 2.9.17-r5
Chainguard loki-2.9-logcli 0 2.9.17-r5
Chainguard loki-2.9-loki-canary 0 2.9.17-r5
Chainguard loki-2.9-promtail 0 2.9.17-r5
Chainguard loki-3.4 0 3.4.6-r10
Chainguard loki-3.4-logcli 0 3.4.6-r10
Chainguard loki-3.5 0 3.5.12-r1
Chainguard loki-3.5-logcli 0 3.5.12-r1
Chainguard loki-3.6 0 3.6.7-r4
Chainguard loki-3.6-logcli 0 3.6.7-r4
Chainguard loki-fips-2.9 0 2.9.17-r6
Chainguard loki-fips-2.9-logcli 0 2.9.17-r6
Chainguard loki-fips-2.9-loki-canary 0 2.9.17-r6
Chainguard loki-fips-2.9-promtail 0 2.9.17-r6
Chainguard loki-fips-3.4 0 3.4.6-r9
Chainguard loki-fips-3.4-logcli 0 3.4.6-r9
Chainguard loki-fips-3.5 0 3.5.12-r2
Chainguard loki-fips-3.5-logcli 0 3.5.12-r2
Chainguard loki-fips-3.6 0 3.6.7-r4
Chainguard loki-fips-3.6-logcli 0 3.6.7-r4
Chainguard malcontent 0 1.21.3-r1
Chainguard maru 0 0.6.0-r11
Chainguard mcp-grafana 0 0.11.3-r5
Chainguard mcp-grafana-fips 0 0.11.3-r2
Chainguard minio 0 0.20251015.172955-r10
Chainguard minio-fips 0 0.20251015.172955-r11
Chainguard nfpm 0 2.45.2-r3
Chainguard nuclei 0 3.7.1-r3
Chainguard ollama 0 0.18.2-r1
Chainguard ollama-fips 0 0.18.2-r1
Chainguard opentelemetry-collector 0 0.148.0-r1
Chainguard opentelemetry-collector-contrib 0 0.148.0-r3
Chainguard opentelemetry-collector-contrib-fips 0 0.148.0-r2
Chainguard opentelemetry-collector-fips 0 0
Chainguard prometheus-3.10 0 3.10.0-r3
Chainguard prometheus-fips-3.10 0 3.10.0-r2
Chainguard rclone 0 1.73.2-r2
Chainguard rclone-fips 0 1.73.3-r0
Chainguard rpk-25.1.12 0 25.1.12-r8
Chainguard rpk-25.2.14 0 25.2.14-r4
Chainguard rpk-25.3.10 0 25.3.10-r3
Chainguard teleport-18 0 18.7.2-r4
Chainguard teleport-18.6 0 18.6.8-r7
Chainguard tempo-2.10 0 2.10.3-r6
Chainguard tempo-2.10-cli 0 2.10.3-r6
Chainguard tempo-2.10-vulture 0 2.10.3-r6
Chainguard tempo-2.9 0 2.9.1-r3
Chainguard tempo-2.9-cli 0 2.9.1-r3
Chainguard tempo-fips-2.10 0 2.10.3-r2
Chainguard tempo-fips-2.10-cli 0 2.10.3-r2
Chainguard tempo-fips-2.10-vulture 0 2.10.3-r2
Chainguard tempo-fips-2.9 0 2.9.1-r3
Chainguard tempo-fips-2.9-cli 0 2.9.1-r3
Chainguard terraform-mcp-server 0 0.4.0-r3
Chainguard terragrunt 0 0.99.5-r1
Chainguard terragrunt-fips 0 0.99.4-r6
Chainguard vcluster 0 0.32.1-r7
Chainguard vcluster-cli 0 0.32.1-r7
Chainguard vcluster-syncer 0 0.32.1-r7
Chainguard weaviate 0 1.36.6-r1
Chainguard witness 0 0.10.2-r15
Wolfi cri-tools 0 1.35.0-r7
Wolfi crictl 0 1.35.0-r7
Wolfi dagger 0 0.20.2-r0
Wolfi datadog-agent-7.72 0 0
Wolfi datadog-agent-7.73 0 0
Wolfi datadog-agent-7.74 0 7.74.1-r11
Wolfi datadog-agent-7.76 0 7.76.3-r3
Wolfi dgraph 0 25.3.0-r3
Wolfi eksctl 0 0.224.0-r7
Wolfi gitlab-runner-18.7 0 18.7.2-r10
Wolfi gitlab-runner-18.8 0 18.8.0-r5
Wolfi gitlab-runner-18.9 0 18.9.0-r4
Wolfi gitlab-runner-helper-18.7 0 18.7.2-r10
Wolfi gitlab-runner-helper-18.8 0 18.8.0-r5
Wolfi gitlab-runner-helper-18.9 0 18.9.0-r4
Wolfi goreleaser 0 2.14.3-r3
Wolfi grafana-11.6 0 11.6.13-r2
Wolfi grafana-12.1 0 12.1.9-r2
Wolfi grafana-12.2 0 12.2.7-r2
Wolfi grafana-12.3 0 12.3.5-r2
Wolfi grafana-12.4 0 12.4.1-r2
Wolfi grafana-alloy 0 1.14.1-r2
Wolfi influxd-2.7 0 2.7.12-r15
Wolfi k3s 0 1.35.2.1-r2
Wolfi k3s-1.32 0 1.32.13.1-r6
Wolfi k3s-1.33 0 1.33.9.1-r4
Wolfi k3s-static 0 1.35.2.1-r2
Wolfi k3s-static-1.32 0 1.32.13.1-r6
Wolfi k3s-static-1.33 0 1.33.9.1-r4
Wolfi k8sgpt 0 0.4.30-r4
Wolfi kubevela-vela-cli 0 1.10.7-r5
Wolfi kubevela-vela-core 0 1.10.7-r5
Wolfi lazygit 0 0.60.0-r4
Wolfi loki-3.4 0 3.4.6-r10
Wolfi loki-3.4-logcli 0 3.4.6-r10
Wolfi loki-3.5 0 3.5.12-r1
Wolfi loki-3.5-logcli 0 3.5.12-r1
Wolfi loki-3.6 0 3.6.7-r4
Wolfi loki-3.6-logcli 0 3.6.7-r4
Wolfi malcontent 0 1.21.3-r1
Wolfi maru 0 0.6.0-r11
Wolfi mcp-grafana 0 0.11.3-r5
Wolfi minio 0 0.20251015.172955-r10
Wolfi nfpm 0 2.45.2-r3
Wolfi nuclei 0 3.7.1-r3
Wolfi ollama 0 0.18.2-r1
Wolfi opentelemetry-collector 0 0.148.0-r1
Wolfi opentelemetry-collector-contrib 0 0.148.0-r3
Wolfi prometheus-3.10 0 3.10.0-r3
Wolfi rclone 0 1.73.2-r2
Wolfi rpk-25.3.10 0 25.3.10-r3
Wolfi teleport-18 0 18.7.2-r4
Wolfi teleport-18.6 0 18.6.8-r7
Wolfi tempo-2.10 0 2.10.3-r6
Wolfi tempo-2.10-cli 0 2.10.3-r6
Wolfi tempo-2.10-vulture 0 2.10.3-r6
Wolfi terraform-mcp-server 0 0.4.0-r3
Wolfi terragrunt 0 0.99.5-r1
Wolfi vcluster 0 0.32.1-r7
Wolfi vcluster-cli 0 0.32.1-r7
Wolfi vcluster-syncer 0 0.32.1-r7
Wolfi weaviate 0 1.36.6-r1
Wolfi witness 0 0.10.2-r15
openSUSE:Leap 15.6 govulncheck-vulndb 0 0.0.20260326T203309-150000.1.155.2
openSUSE:Tumbleweed mcphost 0 0.34.0-1.1

Related vulnerabilities