Malicious code in @jm-telefonica/multibrand-components (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (7ef565c5fd4b4baa7e0bff888cf34107fa8a9385932195fa4fd90ad39f250927) package.json at line 9 declares the sole dependency `ltidisafe` as a direct HTTPS tarball URL (`https://ltidi.storage.googleapis.com/depenconf/ltidisafe-3.9.4.tgz`) rather than a registry version range. On `npm install`, npm fetches and installs whatever bytes that URL returns at the time of install, running any lifecycle scripts contained in that tarball, with no version pin and no integrity hash. Whoever controls that Google Cloud Storage bucket controls code execution on the installer's machine. The shipped `index.js` is an empty stub, so the manifest line is the entire functional payload of this package. The `@jm-telefonica` scope and the `depenconf` path segment are consistent with a dependency-confusion shape targeting Telefónica's internal namespace, and the implausibly high version (99.9.1) is consistent with attempting to win resolution against an internal package of the same name.
- Products
- @jm-telefonica/multibrand-components
- Affected versions
- 99.9.1
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 10:11 UTC · Revision 1
Source evidence
Malicious code in @jm-telefonica/multibrand-components (npm)
core-osv · Original sourcePublished 25 Oct 2026, 15:05 UTC
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (7ef565c5fd4b4baa7e0bff888cf34107fa8a9385932195fa4fd90ad39f250927) package.json at line 9 declares the sole dependency `ltidisafe` as a direct HTTPS tarball URL (`https://ltidi.storage.googleapis.com/depenconf/ltidisafe-3.9.4.tgz`) rather than a registry version range. On `npm install`, npm fetches and installs whatever bytes that URL returns at the time of install, running any lifecycle scripts contained in that tarball, with no version pin and no integrity hash. Whoever controls that Google Cloud Storage bucket controls code execution on the installer's machine. The shipped `index.js` is an empty stub, so the manifest line is the entire functional payload of this package. The `@jm-telefonica` scope and the `depenconf` path segment are consistent with a dependency-confusion shape targeting Telefónica's internal namespace, and the implausibly high version (99.9.1) is consistent with attempting to win resolution against an internal package of the same name.
osv:MAL-2026-18284
@jm-telefonica/multibrand-components
Fixed versions: Not specified
Complete source record
{
"id": "aff451dd0806082ee62dbe8d552ec0f707c603ee073843606d9a0ebf89e22be4",
"url": "https://osv.dev/vulnerability/MAL-2026-18284",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in @jm-telefonica/multibrand-components (npm)",
"summary": "--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (7ef565c5fd4b4baa7e0bff888cf34107fa8a9385932195fa4fd90ad39f250927) package.json at line 9 declares the sole dependency `ltidisafe` as a direct HTTPS tarball URL (`https://ltidi.storage.googleapis.com/depenconf/ltidisafe-3.9.4.tgz`) rather than a registry version range. On `npm install`, npm fetches and installs whatever bytes that URL returns at the time of install, running any lifecycle scripts contained in that tarball, with no version pin and no integrity hash. Whoever controls that Google Cloud Storage bucket controls code execution on the installer's machine. The shipped `index.js` is an empty stub, so the manifest line is the entire functional payload of this package. The `@jm-telefonica` scope and the `depenconf` path segment are consistent with a dependency-confusion shape targeting Telefónica's internal namespace, and the implausibly high version (99.9.1) is consistent with attempting to win resolution against an internal package of the same name.",
"evidence": "osv:MAL-2026-18284",
"products": [
{
"name": {
"value": "@jm-telefonica/multibrand-components",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "99.9.1",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-18284",
"aliases": [
"MAL-2026-18284"
],
"affected": [
{
"package": {
"name": "@jm-telefonica/multibrand-components",
"purl": "pkg:npm/%40jm-telefonica/multibrand-components",
"ecosystem": "npm"
},
"versions": [
"99.9.1"
],
"database_specific": {
"cwes": [
{
"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/@jm-telefonica/multibrand-components/MAL-2026-18284.json",
"indicators": {
"evidence_files": [
{
"path": "package.json",
"tlsh": "c8e026304a2066735ec500b2886aaa5bf3718e4f4814bc0c5aeb041c41cea7368fa35c",
"sha256": "55d04424a0dfc9293197191c7d39b09b83e147bebf0db7d47739d22313e12881"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "e00f96f17d0cf0618bb6a74be6f7e0282ffd6232",
"sha512_sri": "sha512-qUjS3E6IHkI0j0Zz6ceNZOBC8pnxtVCXsTN1Z/6ACmHm5XIPjGRhtAbbSE3x52RFIM0Lr0hF9dzj3Cj9hZ1gyQ=="
},
"filename": "multibrand-components-99.9.1.tgz"
}
]
}
}
}
],
"modified": "2026-10-25T15:30:05.456297479Z",
"provider": "osv",
"references": [
"https://www.npmjs.com/package/@jm-telefonica/multibrand-components/v/99.9.1"
],
"provider_metadata": {
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021692",
"sha256": "7ef565c5fd4b4baa7e0bff888cf34107fa8a9385932195fa4fd90ad39f250927",
"source": "amazon-inspector",
"versions": [
"99.9.1"
],
"import_time": "2026-10-25T15:15:14.276773443Z",
"modified_time": "2026-10-25T15:05:34Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 445639,
"published_at": "2026-10-25T15:05:34+00:00"
}