Malicious code in @newspage/lib-ng-async-routes-ui (npm)
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 version 99.99.4, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async). 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. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (6d6ffc152b9babe9a8d906d8aea7e08ae4b64d3171c98157456888c4174284d7) @newspage/lib-ng-async-routes-ui@99.99.4 is a dependency-confusion artifact. The scoped name impersonates an internal-sounding namespace, and the implausibly high version (99.99.4) is the standard technique for winning resolution against a lower-versioned private package of the same name. On require(), the main module unconditionally issues an HTTPS GET to the hardcoded host accenture-npm.azurewebsites.net at the path /async, causing any environment that resolves and loads the package to beacon out to that endpoint. The outbound request discloses source IP and reque
- Products
- @newspage/lib-ng-async-routes-ui
- Affected versions
- 99.99.4, 99.99.42
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 19:46 UTC · Revision 1
Source evidence
Malicious code in @newspage/lib-ng-async-routes-ui (npm)
core-osv · Original sourcePublished 13 Oct 2026, 00:00 UTC
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 version 99.99.4, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async). 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. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (6d6ffc152b9babe9a8d906d8aea7e08ae4b64d3171c98157456888c4174284d7) @newspage/lib-ng-async-routes-ui@99.99.4 is a dependency-confusion artifact. The scoped name impersonates an internal-sounding namespace, and the implausibly high version (99.99.4) is the standard technique for winning resolution against a lower-versioned private package of the same name. On require(), the main module unconditionally issues an HTTPS GET to the hardcoded host accenture-npm.azurewebsites.net at the path /async, causing any environment that resolves and loads the package to beacon out to that endpoint. The outbound request discloses source IP and reque
osv:MAL-2026-17872
@newspage/lib-ng-async-routes-ui
Fixed versions: Not specified
Complete source record
{
"id": "c8fb3593040248cd63691759502bc69ae7afb2baa9c0c552ed461c65d2e63205",
"url": "https://osv.dev/vulnerability/MAL-2026-17872",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in @newspage/lib-ng-async-routes-ui (npm)",
"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 version 99.99.4, index.js sends an HTTPS GET to attacker-controlled host accenture-npm.azurewebsites.net (/async). 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. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (6d6ffc152b9babe9a8d906d8aea7e08ae4b64d3171c98157456888c4174284d7) @newspage/lib-ng-async-routes-ui@99.99.4 is a dependency-confusion artifact. The scoped name impersonates an internal-sounding namespace, and the implausibly high version (99.99.4) is the standard technique for winning resolution against a lower-versioned private package of the same name. On require(), the main module unconditionally issues an HTTPS GET to the hardcoded host accenture-npm.azurewebsites.net at the path /async, causing any environment that resolves and loads the package to beacon out to that endpoint. The outbound request discloses source IP and reque",
"evidence": "osv:MAL-2026-17872",
"products": [
{
"name": {
"value": "@newspage/lib-ng-async-routes-ui",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "99.99.42",
"evidence": "/affected/0/versions"
},
{
"value": "99.99.4",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-17872",
"aliases": [
"MAL-2026-17872"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "@newspage/lib-ng-async-routes-ui",
"purl": "pkg:npm/%40newspage/lib-ng-async-routes-ui",
"ecosystem": "npm"
},
"versions": [
"99.99.42",
"99.99.4"
],
"database_specific": {
"cwes": [
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
},
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
},
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@newspage/lib-ng-async-routes-ui/MAL-2026-17872.json",
"indicators": {
"evidence_files": [
{
"path": "index.js",
"tlsh": "50e068edc369554801a123c0802ddf3ae43be1d5358860f318081a0b4bb02600343292",
"sha256": "43d0f73c427d7b12be371e091faae78c7e12398d061d7242489ab9fc8a0ec8b4"
},
{
"path": "package.json",
"tlsh": "b4d02b745c305bb334e442a90922840671308d1744087c0867d7919c57de27744ff24f",
"sha256": "1582aef2a23b81ee6512e44ba8efc0962e1907c2292ec9eb8d1f4c10522a9e85"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "2e717aeded484e4a73ecf825cf73289b96b5a9db",
"sha512_sri": "sha512-9Z5J929m2FOA9S2NzGtVrr5ujdO63TXJ7t0Xmm74RP/DXVQ0QdxBZx5HPTqgTfFhm+Pk/foUnjgUF3zawdwQ2w=="
},
"filename": "lib-ng-async-routes-ui-99.99.42.tgz"
}
]
}
}
}
],
"modified": "2026-10-16T07:15:08.447423276Z",
"provider": "osv",
"references": [
"https://www.npmjs.com/package/@newspage/lib-ng-async-routes-ui",
"https://www.npmjs.com/package/@newspage/lib-ng-async-routes-ui/v/99.99.42",
"https://www.npmjs.com/package/@newspage/lib-ng-async-routes-ui/v/99.99.4"
],
"provider_metadata": {
"iocs": {
"urls": [
"https://accenture-npm.azurewebsites.net/async"
],
"files": [
{
"note": "99.99.4: beacon to /async.",
"paths": [
"index.js"
],
"source": "PACKAGE_ARCHIVE",
"digests": {
"sha256": "b353e473eee3b51f2e4ccbdbf4d4c544f104b9b12cd1170a7cbe730719a3880f"
}
}
],
"domains": [
"accenture-npm.azurewebsites.net"
]
},
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021497",
"sha256": "0a9071b8142e9da58f71a891590ae6c0078acac74287bb052c0c98f76eeaef4e",
"source": "amazon-inspector",
"versions": [
"99.99.42"
],
"import_time": "2026-10-16T06:57:52.306898674Z",
"modified_time": "2026-10-16T06:57:06Z"
},
{
"id": "IN-MAL-2026-021495",
"sha256": "6d6ffc152b9babe9a8d906d8aea7e08ae4b64d3171c98157456888c4174284d7",
"source": "amazon-inspector",
"versions": [
"99.99.4"
],
"import_time": "2026-10-16T06:57:52.07330721Z",
"modified_time": "2026-10-16T06:56:52Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 337987,
"published_at": "2026-10-13T00:00:00+00:00"
}