{"items":[{"id":"NVI-00010507","kind":"supply_chain_event","title":"Malicious code in @newspage/libx-amount (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-49j3-qrv4-xgwv"],"plain_summary":"GitHub lists this malware advisory for @newspage/libx-amount, @newspage/libx-amount, @newspage/libx-amount, @newspage/libx-amount. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-f2fdab52b3c38c7e907047ea6866f135"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-f2fdab52b3c38c7e907047ea6866f135","url":"https://github.com/advisories/GHSA-49j3-qrv4-xgwv","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-49j3-qrv4-xgwv","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:06:13.671Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-f2fdab52b3c38c7e907047ea6866f135"],"technology":"@newspage/libx-amount","known_exclusions":[],"conditions_summary":"npm user 'priyashareek' published this package in a dependency confusion campaign against the internal scopes @accenturecodefoundry and @newspage. The publisher used 99.99.x versions to outrank the internal packages. 0.0.0-stage and 99.99.1 are empty placeholders. In versions 99.99.4 and 99.99.41, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async, /libx). The same publisher's @accenturecodefoundry/mfe-pot-shared-ui-scds-core calls back to that host. The 'preinstall' script in these versions is empty; the publisher put 'node index.js || true' in the 'main' field instead, likely by mistake. Node.js can't resolve that 'main' target and falls back to index.js, so the beacon fires when code requires or imports the package, not during install.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["> 0"]},{"certainty":"source_listed","source_ids":["sr-f2fdab52b3c38c7e907047ea6866f135"],"technology":"@newspage/libx-amount","known_exclusions":[],"conditions_summary":"npm user 'priyashareek' published this package in a dependency confusion campaign against the internal scopes @accenturecodefoundry and @newspage. The publisher used 99.99.x versions to outrank the internal packages. 0.0.0-stage and 99.99.1 are empty placeholders. In versions 99.99.4 and 99.99.41, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async, /libx). The same publisher's @accenturecodefoundry/mfe-pot-shared-ui-scds-core calls back to that host. The 'preinstall' script in these versions is empty; the publisher put 'node index.js || true' in the 'main' field instead, likely by mistake. Node.js can't resolve that 'main' target and falls back to index.js, so the beacon fires when code requires or imports the package, not during install.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 99.99.41"]},{"certainty":"source_listed","source_ids":["sr-f2fdab52b3c38c7e907047ea6866f135"],"technology":"@newspage/libx-amount","known_exclusions":[],"conditions_summary":"npm user 'priyashareek' published this package in a dependency confusion campaign against the internal scopes @accenturecodefoundry and @newspage. The publisher used 99.99.x versions to outrank the internal packages. 0.0.0-stage and 99.99.1 are empty placeholders. In versions 99.99.4 and 99.99.41, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async, /libx). The same publisher's @accenturecodefoundry/mfe-pot-shared-ui-scds-core calls back to that host. The 'preinstall' script in these versions is empty; the publisher put 'node index.js || true' in the 'main' field instead, likely by mistake. Node.js can't resolve that 'main' target and falls back to index.js, so the beacon fires when code requires or imports the package, not during install.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 99.99.4"]},{"certainty":"source_listed","source_ids":["sr-f2fdab52b3c38c7e907047ea6866f135"],"technology":"@newspage/libx-amount","known_exclusions":[],"conditions_summary":"npm user 'priyashareek' published this package in a dependency confusion campaign against the internal scopes @accenturecodefoundry and @newspage. The publisher used 99.99.x versions to outrank the internal packages. 0.0.0-stage and 99.99.1 are empty placeholders. In versions 99.99.4 and 99.99.41, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async, /libx). The same publisher's @accenturecodefoundry/mfe-pot-shared-ui-scds-core calls back to that host. The 'preinstall' script in these versions is empty; the publisher put 'node index.js || true' in the 'main' field instead, likely by mistake. Node.js can't resolve that 'main' target and falls back to index.js, so the beacon fires when code requires or imports the package, not during install.\n\n---\n\nCredit: OpenSSF (source)","public_affected_ranges":["= 99.99.42"]}],"null_published_at":"2026-10-31T22:27:06.720Z","source_updated_at":"2026-10-16T09:30:35.000Z","source_disclosed_at":"2026-10-14T06:30:54.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T22:06:13.671Z"}],"next_cursor":null,"snapshot_revision":"42594"}