{"id":"MAL-2025-49115","revision":null,"records":[{"revision":"e953789f002d445d98979d79c8b720bd","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"MAL-2025-49115","aliases":[],"title":"Malicious code in epic-alt-utils (npm)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (c2bda45d847acb3ebf792930ebd351b317ff4d7db1f9ac7bc778843a64ce92db)\nThe package epic-alt-utils was found to contain malicious code.\n","state":0,"publishedAt":"2025-10-30T17:38:57+00:00","modifiedAt":"2026-09-23T01:15:04.831994+00:00","affected":[{"ecosystem":"npm","name":"epic-alt-utils","ranges":[],"versions":["0.0.1-security","2100.4.2","10.0.0","9.9.0","9.8.0","9.7.0","9.6.0","9.5.0","9.4.0","9.3.0","9.2.0","9.1.0","9.0.0","8.9.0","8.8.0","8.7.0","8.6.0","8.5.0","8.4.0","8.3.0","8.2.0","8.1.0","8.0.0","7.9.0","7.8.0","7.7.0","7.6.0","7.5.0","7.4.0","7.3.0","7.2.0","7.1.0","7.0.0","6.9.0","6.8.0","6.7.0","6.6.0","6.5.0","6.4.0","6.3.0","6.2.0","6.1.0","6.0.0","5.9.0","5.8.0","5.7.0","5.6.0","5.5.0","5.4.0","5.3.0","5.2.0","5.1.0","5.0.0","4.9.0","4.8.0","4.7.0","4.6.0","4.5.0","4.4.0","4.3.0","4.2.0","4.1.0","4.0.0","3.9.0","3.8.0","3.7.0","3.6.0","3.5.0","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0","2.9.0","2.8.0","2.7.0","2.6.0","2.5.0","2.4.0","2.3.0","2.2.0","2.1.0","2.0.0","1.9.0","1.8.0","1.7.0","1.6.0","1.5.0","1.4.15","1.4.0","1.3.0","1.2.0","1.1.0","1.0.0","0.9.0","0.8.0","0.7.0","0.6.0","0.5.0","0.4.0","0.3.0","0.2.0","0.1.0","0.0.0"],"rawVersionEvidence":null}],"metrics":[],"references":[],"sourceUrl":"https://osv.dev/vulnerability/MAL-2025-49115","license":"OSV · upstream source license applies","key":"osv:MAL-2025-49115","identifiers":["MAL-2025-49115"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-12T20:18:28.6757759+00:00","complete":true,"records":1779,"lastAttemptAt":"2026-11-12T20:18:28.6757759+00:00","lastSuccessAt":"2026-11-12T20:18:28.9399625+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:28.9399638+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-64752486c567b55b31fb0d7225f5222bcd0019564ac0ac5f0649e242c7b19299-10dbd7e8374437942fae8107ee9412aa31306596e1009af478aed343a0964c7f","complete":true,"records":424825,"lastAttemptAt":"2026-11-12T20:16:25.334281+00:00","lastSuccessAt":"2026-11-12T20:16:25.0113103+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:16:25.334281+00:00","snapshotPublishedAt":"2026-11-12T19:27:19+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-367b55e188c64747ba0c4df3151c2af5","complete":true,"records":13777,"lastAttemptAt":"2026-11-12T20:18:32.2142141+00:00","lastSuccessAt":"2026-11-12T20:18:32.208+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:32.208+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13830,"expectedIdentifiers":13830,"failedIdentifiers":0},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-12T20:18:28.6757759+00:00","complete":true,"records":1123,"lastAttemptAt":"2026-11-12T20:18:28.6757759+00:00","lastSuccessAt":"2026-11-12T20:18:28.9407518+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:28.9407519+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-7b81ed9b00664b57bd36260af1e82a93","complete":true,"records":13777,"lastAttemptAt":"2026-11-12T20:18:30.1210334+00:00","lastSuccessAt":"2026-11-12T20:18:30.116+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:30.116+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13830,"expectedIdentifiers":13830,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-3aa2f7b2e0461b3b0ca26add25992529eb0c3a0bcda31696dca7b573cde1382c","complete":true,"records":9949,"lastAttemptAt":"2026-11-12T20:18:28.623289+00:00","lastSuccessAt":"2026-11-12T20:18:28.3432186+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:28.623289+00:00","snapshotPublishedAt":"2026-11-12T19:48:11+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-4d60731753a2f72e455d1086e7203d0ef10843936dcc1cf2b45135e2caa204b0","complete":true,"records":2012,"lastAttemptAt":"2026-11-12T20:16:25.491187+00:00","lastSuccessAt":"2026-11-12T18:16:50.7862525+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:16:25.491187+00:00","snapshotPublishedAt":"2026-11-12T17:48:11+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-0d57668ba92a2918d0664e89ea91d467f8e6a2bc6330923eb883b74ac42a14ec","complete":true,"records":3125,"lastAttemptAt":"2026-11-12T20:18:28.6390801+00:00","lastSuccessAt":"2026-11-12T15:18:36.6112732+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:28.6390801+00:00","snapshotPublishedAt":"2026-11-12T14:48:37+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-aacb2ea0a84f684226fd5e421ed31635112d695f522f1d5914b6afab8cc7f03c","complete":true,"records":231724,"lastAttemptAt":"2026-11-12T20:18:18.7339404+00:00","lastSuccessAt":"2026-11-12T20:18:18.1230476+00:00","error":null,"lastVerifiedAt":"2026-11-12T20:18:18.7339404+00:00","snapshotPublishedAt":"2026-11-12T19:33:03+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}