CVE-2026-46377

HIGHPre-NVD 7.57.5
EchelonGraph scoreLOW confidence

Score 7.5 from GitHub Security Advisory (severity: HIGH) published 2026-05-19. the CNA's CVSS baseline 7.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: cna:github_m, epss, ghsa
7.5
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 0%CVSS: 7.5Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

Dasel: Index-out-of-range panic in dasel selector lexer on trailing backslash in quoted string

Summary

dasel's selector lexer panics with an index-out-of-range error when tokenizing a quoted string that ends with a trailing backslash (e.g., "\ or '\). A 2-byte input causes an immediate process crash via Go runtime panic.

I confirmed the issue on v3.3.1 (fba653c7f248aff10f2b89fca93929b64707dfc8) and on master commit 0dd6132e0c58edbd9b1a5f7ffd00dfab1e6085ad. I also verified the same code path is present in v3.0.0 (648f83baf070d9e00db8ff312febef857ec090a3). No fix is available yet.

Details

The bug is in the escape sequence handler within (*Tokenizer).parseCurRune in selector/lexer/tokenize.go#L191-L194:

if p.src[pos] == '\\' {
    pos++
    buf = append(buf, rune(p.src[pos]))  // line 193: no bounds check
    pos++
    continue
}

When a backslash is the last character inside quotes, pos++ increments the position past the end of the input. The subsequent p.src[pos] attempts to read past the end of the slice, which Go turns into a runtime panic: runtime error: index out of range [2] with length 2.

Notably, the same function already handles unterminated quoted strings by returning UnexpectedEOFError, but the escape sequence path does not perform a similar bounds check.

Minimal trigger: "\ or '\ (2 bytes)

Test environment:

  • MacBook Air (Apple M2), macOS / Darwin arm64
  • Go 1.26.1
  • dasel v3.3.1 (fba653c7f248aff10f2b89fca93929b64707dfc8)

PoC

package main

import ( "fmt" "runtime" "runtime/debug"

"github.com/tomwright/dasel/v3/selector/lexer" )

func main() { fmt.Printf("Go version: %s\n", runtime.Version()) fmt.Printf("GOARCH: %s\n", runtime.GOARCH) fmt.Println()

for _, input := range []string{"\, '\} { fmt.Printf("Input: %s\n", input) func() { defer func() { if r := recover(); r != nil { fmt.Printf("PANIC: %v\n", r) debug.PrintStack() } }() t := lexer.NewTokenizer(input) tokens, err := t.Tokenize() if err != nil { fmt.Printf("Error: %v\n", err) } else { fmt.Printf("OK: %d tokens\n", len(tokens)) } }() fmt.Println() } }

Observed output on v3.3.1 in the test environment above:

Go version: go1.26.1
GOARCH: arm64

Input: "\ PANIC: runtime error: index out of range [2] with length 2 goroutine 1 [running]: ... github.com/tomwright/dasel/v3/selector/lexer.(*Tokenizer).parseCurRune(...) .../selector/lexer/tokenize.go:193 +0x1c2c ...

Input: '\ PANIC: runtime error: index out of range [2] with length 2 goroutine 1 [running]: ... github.com/tomwright/dasel/v3/selector/lexer.(*Tokenizer).parseCurRune(...) .../selector/lexer/tokenize.go:193 +0x1c2c ...

Impact

An attacker who can control or influence the selector/query string passed to dasel can trigger a Go runtime panic and crash the process unless the caller explicitly recovers from panics.

The selector string is typically provided by the application developer, but there are deployment scenarios where it may be attacker-influenced:

  • Web applications using dasel for dynamic data querying
  • Applications that construct selectors from user input
  • Shared tooling environments where selectors are passed as parameters

Suggested Fix

Add a bounds check after incrementing pos past the backslash, consistent with the existing UnexpectedEOFError handling for unterminated quoted strings:

if p.src[pos] == '\\' {
    pos++
    if pos >= p.srcLen {
        return Token{}, &UnexpectedEOFError{Pos: pos}
    }
    buf = append(buf, rune(p.src[pos]))
    pos++
    continue
}

CVSS v3
7.5
EG Score
7.5(low)
EPSS
16.9%
KEV
Not listed

Published

May 19, 2026

Last Modified

May 19, 2026

Vendor Advisories for CVE-2026-46377(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
gogithub.com/tomwright/dasel/v3ghsa

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(1 across 1 ecosystem)
Go(1)
PackageVulnerable rangeFixed inDependents
github.com/tomwright/dasel/v3

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 0× in last 7d / 49× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-06-29 20:40 UTCEG score recompute
  2. 2026-06-29 20:40 UTCGHSA enrichment
  3. 2026-06-28 08:14 UTCEG score recompute
  4. 2026-06-28 08:13 UTCGHSA enrichment
  5. 2026-06-27 20:23 UTCEG score recompute
  6. 2026-06-27 20:23 UTCGHSA enrichment
  7. 2026-06-27 07:35 UTCEG score recompute
  8. 2026-06-27 07:35 UTCGHSA enrichment
  9. 2026-06-26 19:43 UTCEG score recompute
  10. 2026-06-26 19:43 UTCGHSA enrichment
  11. 2026-06-26 04:20 UTCEG score recompute
  12. 2026-06-26 04:20 UTCGHSA enrichment
  13. 2026-06-25 16:28 UTCEG score recompute
  14. 2026-06-25 16:28 UTCGHSA enrichment
  15. 2026-06-17 23:42 UTCEG score recompute
  16. 2026-06-17 23:42 UTCGHSA enrichment
  17. 2026-06-17 11:40 UTCEG score recompute
  18. 2026-06-17 11:40 UTCGHSA enrichment
  19. 2026-06-16 20:42 UTCEG score recompute
  20. 2026-06-16 20:42 UTCGHSA enrichment
  21. 2026-06-16 03:49 UTCEG score recompute
  22. 2026-06-16 03:49 UTCGHSA enrichment
  23. 2026-06-15 15:57 UTCEG score recompute
  24. 2026-06-15 15:57 UTCGHSA enrichment
  25. 2026-06-15 00:26 UTCEG score recompute
Show 62 more
  1. 2026-06-15 00:26 UTCGHSA enrichment
  2. 2026-06-14 23:18 UTCEPSS rescore
  3. 2026-06-14 12:32 UTCEG score recompute
  4. 2026-06-14 12:32 UTCGHSA enrichment
  5. 2026-06-14 00:40 UTCEG score recompute
  6. 2026-06-14 00:40 UTCGHSA enrichment
  7. 2026-06-13 23:00 UTCEPSS rescore
  8. 2026-06-13 12:36 UTCEG score recompute
  9. 2026-06-13 12:36 UTCGHSA enrichment
  10. 2026-06-12 23:34 UTCEG score recompute
  11. 2026-06-12 23:34 UTCGHSA enrichment
  12. 2026-06-12 23:12 UTCEPSS rescore
  13. 2026-06-12 11:42 UTCEG score recompute
  14. 2026-06-12 11:42 UTCGHSA enrichment
  15. 2026-06-11 23:52 UTCEG score recompute
  16. 2026-06-11 23:52 UTCGHSA enrichment
  17. 2026-06-11 12:01 UTCEG score recompute
  18. 2026-06-11 12:01 UTCGHSA enrichment
  19. 2026-06-11 00:09 UTCEG score recompute
  20. 2026-06-11 00:09 UTCGHSA enrichment
  21. 2026-06-10 12:18 UTCEG score recompute
  22. 2026-06-10 12:18 UTCGHSA enrichment
  23. 2026-06-10 00:27 UTCEG score recompute
  24. 2026-06-10 00:27 UTCGHSA enrichment
  25. 2026-06-09 12:36 UTCEG score recompute
  26. 2026-06-09 12:36 UTCGHSA enrichment
  27. 2026-06-09 00:45 UTCEG score recompute
  28. 2026-06-09 00:45 UTCGHSA enrichment
  29. 2026-06-08 12:53 UTCEG score recompute
  30. 2026-06-08 12:53 UTCGHSA enrichment
  31. 2026-06-08 01:02 UTCEG score recompute
  32. 2026-06-08 01:02 UTCGHSA enrichment
  33. 2026-06-07 13:11 UTCEG score recompute
  34. 2026-06-07 13:11 UTCGHSA enrichment
  35. 2026-06-07 01:20 UTCEG score recompute
  36. 2026-06-07 01:20 UTCGHSA enrichment
  37. 2026-06-06 13:28 UTCEG score recompute
  38. 2026-06-06 13:28 UTCGHSA enrichment
  39. 2026-06-06 01:37 UTCEG score recompute
  40. 2026-06-06 01:36 UTCGHSA enrichment
  41. 2026-06-05 13:44 UTCEG score recompute
  42. 2026-06-05 13:44 UTCGHSA enrichment
  43. 2026-06-05 01:53 UTCEG score recompute
  44. 2026-06-05 01:53 UTCGHSA enrichment
  45. 2026-06-04 14:02 UTCEG score recompute
  46. 2026-06-04 14:02 UTCGHSA enrichment
  47. 2026-06-04 02:11 UTCEG score recompute
  48. 2026-06-04 02:11 UTCGHSA enrichment
  49. 2026-06-03 14:20 UTCEG score recompute
  50. 2026-06-03 14:20 UTCGHSA enrichment
  51. 2026-06-03 02:29 UTCEG score recompute
  52. 2026-06-03 02:29 UTCGHSA enrichment
  53. 2026-06-02 14:38 UTCEG score recompute
  54. 2026-06-02 14:38 UTCGHSA enrichment
  55. 2026-06-02 02:47 UTCEG score recompute
  56. 2026-06-02 02:47 UTCGHSA enrichment
  57. 2026-06-01 14:55 UTCEG score recompute
  58. 2026-06-01 14:55 UTCGHSA enrichment
  59. 2026-06-01 03:04 UTCEG score recompute
  60. 2026-06-01 03:04 UTCGHSA enrichment
  61. 2026-05-24 06:13 UTCEG score recompute
  62. 2026-05-24 06:13 UTCGHSA enrichment

Frequently asked(5)

What is CVE-2026-46377?
CVE-2026-46377 is a high vulnerability published on May 19, 2026. Dasel: Index-out-of-range panic in dasel selector lexer on trailing backslash in quoted string Summary dasel's selector lexer panics with an index-out-of-range error when tokenizing a quoted string that ends with a trailing backslash (e.g., "\ or '\). A 2-byte input causes an immediate process…
When was CVE-2026-46377 disclosed?
CVE-2026-46377 was first published in the National Vulnerability Database on May 19, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-46377 actively exploited?
CVE-2026-46377 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 16.9% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-46377?
CVE-2026-46377 has a CVSS v4.0 base score of 7.5 (CNA self-assessment; NVD's own analysis pending).
How do I remediate CVE-2026-46377?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-46377, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-46377

Explore →

Is Your Infrastructure Affected by CVE-2026-46377?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.