Skip to main content
← Vulnerabilities

devalue: Sparse arrays emitted by uneval cause eager allocation when evaluated

Exploited
No known exploitation
Fix
Fixed in 5.9.3
Who is exposed
Not reported

Do first: Upgrade to a fixed version: 5.9.3.

Published
Last modified
21/100 · provisional
Low (ghsa)
None on Exploit-DB, Metasploit or GitHub

Summary

The devalue JavaScript serialization library has a flaw in which evaluating `uneval` output for a sparse array can allocate memory proportional to the array's declared length, so a very small serialized value can cause a large allocation in the browser or runtime that evaluates it. The worst realistic result is that the browser tab runs out of memory, and the issue does not arise from default `parse` sparse-array construction.

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

Read the original description

Evaluating legitimate uneval output for a sparse array can allocate memory proportional to its declared length. A tiny serialized value can therefore cause large memory allocation in a consuming browser/runtime. This occurs during evaluation of generated code, not in default parse sparse-array construction.

You would only be affected by this if you were serializing very large sparse arrays and then evaluating the results. In the general use case for uneval of sending data to the client, the worst that could happen is the browser tab running out of memory.

cve.now Index

21Pcve.now Index 21 of 100 · methodology v3 · provisional
  • Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
  • Exposure?/25Unknown. No advisory context yet
  • Reach20/20devalue: 24.5M downloads a week
  • Severity1/10Rated low by ghsa
  • No patch0/5No signal

What would change the score

  • Would score about 76 if added to CISA KEV
  • Would score about 71 if CISA's SSVC rates exploitation active
  • Would score about 43 if advisories confirm default setups are exposed

Impact

  • Widely used

    devalue has 24.5m weekly downloads.Source: npmjs.com

    414 packages depend on devalue.Source: deps.dev

What to do

  • Upgrade to a fixed version: 5.9.3.

Timeline

  1. Advisory published
  2. Record last updated

Affected versions

  • From 1.0.0 · fixed in 5.9.3

Evidence 4

  1. Advisory
  2. Repository
  3. Repository
  4. Repository

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

Questions about GHSA-WF3X-273G-MVXV

Is GHSA-WF3X-273G-MVXV being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data

Which versions are affected by GHSA-WF3X-273G-MVXV?

devalue (npm): from 1.0.0 before 5.9.3.Source: cve.now feed data

How do I fix GHSA-WF3X-273G-MVXV?

Upgrade to a fixed version: 5.9.3.Source: cve.now feed data