CVE-2026-46412

CRITICALPre-NVD 10.010.0
EchelonGraph scoreLOW confidence

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

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

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

Malicious code in @beproduct/nestjs-auth (0.1.2 through 0.1.19) — Mini Shai-Hulud worm

Summary

Between 2026-05-11 20:19 UTC and 22:56 UTC, an attacker used a compromised npm publish token to publish 18 malicious versions of @beproduct/nestjs-auth (0.1.2 through 0.1.19). The packages contained payloads from the Mini Shai-Hulud npm supply-chain worm campaign described by Aikido Security.

npm Security removed the malicious versions from the registry shortly after publication, but anyone who ran npm install @beproduct/nestjs-auth resolving to any version in the affected range during that window executed the malicious postinstall script and is potentially compromised.

Version 0.1.20 is a clean republish from the original 0.1.1 source tree.

Impact

The postinstall payload attempted to harvest:

  • npm tokens (from ~/.npmrc)
  • GitHub personal access tokens, OAuth tokens (gho_*), and Actions OIDC tokens
  • AWS credentials (from environment variables and ~/.aws/credentials)
  • HashiCorp Vault tokens
  • Other secrets present in environment variables

Exfiltration target: https://filev2.getsession.org. The worm also wrote persistence artefacts (tanstack_runner.js, router_init.js, setup.mjs, plus IDE-hook configurations in .claude/ and .vscode/) into the developer's working tree where the malicious install ran.

Indicators of compromise

| Type | Value | |---|---| | File name (payload) | tanstack_runner.js, router_init.js, router_runtime.js | | SHA-256 (tanstack_runner.js) | 2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96 | | SHA-256 (router_init.js) | ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c | | Exfil endpoint | filev2.getsession.org | | Cloud metadata probe | 169.254.169.254/latest/meta-data/iam/security-credentials/ | | npm token endpoint | registry.npmjs.org/-/npm/v1/tokens | | Vault probe | vault.svc.cluster.local:8200 | | IDE hook pattern | .claude/settings.json SessionStart hook + .vscode/tasks.json runOn: "folderOpen" running node .claude/setup.mjs or node .vscode/setup.mjs |

Mitigation

If you installed any version in the range >=0.1.2 <=0.1.19:

  • Remove the package and clean the npm cache:
npm uninstall @beproduct/nestjs-auth
   npm cache clean --force
  • Install the clean version:
npm install @beproduct/[email protected]
  • Rotate every credential present in the install environment, including:
  • All npm publish tokens (https://www.npmjs.com/settings//tokens)
  • All GitHub PATs and OAuth tokens (https://github.com/settings/applications + https://github.com/settings/tokens)
  • AWS access keys
  • HashiCorp Vault tokens
  • Any other secret that was in env vars or config files at install time
  • Scan affected hosts for the indicators of compromise above. If any are found, treat the host as compromised and reimage.
  • Check committed repository history for unexpected additions in .claude/ or .vscode/ directories — the worm is known to commit setup.mjs + hook configs to PR branches via automated agent runtimes.

Timeline (UTC)

| Time | Event | |---|---| | 2026-05-11 20:19:43 | First malicious version (0.1.2) published | | 2026-05-11 22:56:39 | Final malicious version (0.1.19) published — 18 versions in 2h37m | | 2026-05-12 ~14:12 | npm Security removes the malicious versions from the registry | | 2026-05-13 | BeProduct discovers the incident via Aikido's public disclosure | | 2026-05-14 | Compromised npm publish token revoked; BeProduct GitHub OAuth credentials rotated | | 2026-05-14 | Clean release 0.1.20 published; this advisory filed |

Root cause

The compromised npm publish token was harvested by a Mini-Shai-Hulud-infected transitive dependency in an automated GitHub coding-agent runtime that had read access to the NPM_TOKEN GitHub Actions secret for an unrelated repository under the same npm publisher account. The publish itself was performed by the attacker against the public npm registry; the source repository for this package was not modified by the attacker.

References

  • https://www.aikido.dev/blog/mini-shai-hulud-is-back-tanstack-compromised
  • https://www.aikido.dev/blog/checklist-github-actions
```

CVSS v3
10.0
EG Score
10.0(low)
EPSS
21.8%
KEV
Not listed

Published

May 19, 2026

Last Modified

May 19, 2026

Vendor Advisories for CVE-2026-46412(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
npm@beproduct/nestjs-authghsa

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)
npm(1)
PackageVulnerable rangeFixed inDependents
@beproduct/nestjs-auth

Weakness Classification(1)

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

Data Freshness Timeline

(refreshed 0× in last 7d / 93× 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.

Showing the most recent 100 of 203 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-46412?
CVE-2026-46412 is a critical vulnerability published on May 19, 2026. Malicious code in @beproduct/nestjs-auth (0.1.2 through 0.1.19) — Mini Shai-Hulud worm Summary Between 2026-05-11 20:19 UTC and 22:56 UTC, an attacker used a compromised npm publish token to publish 18 malicious versions of @beproduct/nestjs-auth (0.1.2 through 0.1.19). The packages contained…
When was CVE-2026-46412 disclosed?
CVE-2026-46412 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-46412 actively exploited?
CVE-2026-46412 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 21.8% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-46412?
CVE-2026-46412 has a CVSS v4.0 base score of 10.0 (CNA self-assessment; NVD's own analysis pending).
How do I remediate CVE-2026-46412?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-46412, 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-46412

Explore →

Is Your Infrastructure Affected by CVE-2026-46412?

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