LiveActive security incident?Get immediate response
CVE Record

CVE-2021-23389: Arbitrary Code Execution

The package total.js before 3.4.9 are vulnerable to Arbitrary Code Execution via the U.set() and U.get() functions.

CriticalCVSS 9.8Not KEV-listedUpdated
Glexia's TakeAutomated analysiscritical

Security readout for executives and security teams

Plain-English summary

CVE-2021-23389 affects total.js before 3.4.9. Public sources describe arbitrary code execution through the U.set() and U.get() functions. For an exposed application, this is business-critical because the CVSS vector indicates network access, low attack complexity, no credentials, no user interaction, and high impact to confidentiality, integrity, and availability.

Executive priority

Treat this as an immediate patching priority for any production system using total.js before 3.4.9. The business risk is potential full application compromise, but confirmed active exploitation is not shown in the supplied sources.

Technical view

The issue is in total.js utility functions U.set() and U.get(), with affected releases described as before 3.4.9. The assigned CVSS 3.1 score is 9.8, vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. The source bundle does not identify affected CPEs, CWEs, or detailed exploit preconditions beyond the vulnerable functions.

Likely exposure

Exposure is most likely in Node.js applications that depend on total.js before 3.4.9, especially where request-controlled data can influence code paths using U.set() or U.get(). The bundle does not prove exposure for every total.js deployment.

Exploitation context

The CVE is not listed as CISA KEV in the supplied data. The bundle reports exploit maturity as proof-of-concept, but provides no confirmed active exploitation evidence. Treat internet-facing affected applications as urgent because exploitation requires no privileges or user interaction per CVSS.

Researcher notes

The public bundle is sparse: it names vulnerable functions, a fixed-version boundary, CVSS details, Snyk advisory, and an upstream commit. It does not include CPEs, CWEs, affected deployment patterns, or active exploitation confirmation. Validate exposure by dependency version and reachable use of U.set()/U.get().

Mitigation direction

  • Upgrade total.js to version 3.4.9 or later.
  • Review the Snyk advisory and upstream commit for vendor-specific fix details.
  • Prioritize internet-facing services and APIs using total.js.
  • Limit untrusted input reaching U.set() and U.get() until upgraded.
  • Redeploy and verify the resolved dependency version in production.

Validation and detection

  • Inventory package manifests and lockfiles for total.js versions before 3.4.9.
  • Check runtime dependency trees, not only direct dependencies.
  • Review code paths using U.set() and U.get() with external input.
  • Confirm deployed artifacts include total.js 3.4.9 or later.
  • Track CVE and Snyk records for updated exploit or fix guidance.
Prepared
Confidence
medium
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

description · low confidence lookup

Execution behavior lookup

The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2021-23389 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Critical
CVSS
9.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
9.8CVSS 3.1CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P3.95.9Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

9.8Critical
CVSS 3.1 vector shape for CVE-2021-23389Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
n/atotal.jsunspecifiedListed
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.