CWE-506
Allowed-with-ReviewEmbedded Malicious Code
Abstraction: Class · Status: Incomplete
The product contains code that appears to be malicious in nature.
525 vulnerabilities reference this CWE, most recent first.
GHSA-2WPQ-VVW6-67WR
Vulnerability from github – Published: 2018-08-29 23:38 – Updated: 2023-09-11 22:23The nodecaffe package is a piece of malware that steals environment variables and sends them to attacker controlled locations.
All versions have been unpublished from the npm registry.
Recommendation
As this package is malware, if you find it installed in your environment, the real security concern is determining how it got there.
If you have found this installed in your environment, you should: 1. Delete the package 2. Clear your npm cache 3. Ensure it is not present in any other package.json files on your system 4. Regenerate your registry credentials, tokens, and any other sensitive credentials that may have been present in your environment variables.
Additionally, any service which may have been exposed via credentials in your environment variables, such as a database, should be reviewed for indicators of compromise as well.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "nodecaffe"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2017-16070"
],
"database_specific": {
"cwe_ids": [
"CWE-433",
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-06-16T20:53:08Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "The `nodecaffe` package is a piece of malware that steals environment variables and sends them to attacker controlled locations. \n\nAll versions have been unpublished from the npm registry.\n\n\n## Recommendation\n\nAs this package is malware, if you find it installed in your environment, the real security concern is determining how it got there. \n\nIf you have found this installed in your environment, you should:\n1. Delete the package\n2. Clear your npm cache\n3. Ensure it is not present in any other package.json files on your system\n4. Regenerate your registry credentials, tokens, and any other sensitive credentials that may have been present in your environment variables. \n\nAdditionally, any service which may have been exposed via credentials in your environment variables, such as a database, should be reviewed for indicators of compromise as well.",
"id": "GHSA-2wpq-vvw6-67wr",
"modified": "2023-09-11T22:23:56Z",
"published": "2018-08-29T23:38:35Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-16070"
},
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/509"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "nodecaffe is malware"
}
GHSA-2XW5-3767-QXVM
Vulnerability from github – Published: 2020-09-11 21:21 – Updated: 2021-09-30 22:07Version 1.0.987 of ng-ui-library contained malicious code. The code when executed in the browser would enumerate password, cvc and cardnumber fields from forms and send the extracted values to https://js-metrics.com/minjs.php?pl=
Recommendation
Remove the package from your environment and evaluate your application to determine whether or not user data was compromised.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "ng-ui-library"
},
"ranges": [
{
"events": [
{
"introduced": "1.0.987"
},
{
"fixed": "1.0.990"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.0.987"
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-08-31T18:41:17Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "Version 1.0.987 of `ng-ui-library` contained malicious code. The code when executed in the browser would enumerate password, cvc and cardnumber fields from forms and send the extracted values to `https://js-metrics.com/minjs.php?pl=`\n\n\n\n## Recommendation\n\nRemove the package from your environment and evaluate your application to determine whether or not user data was compromised.",
"id": "GHSA-2xw5-3767-qxvm",
"modified": "2021-09-30T22:07:45Z",
"published": "2020-09-11T21:21:20Z",
"references": [
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/940"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Malicious Package in ng-ui-library"
}
GHSA-322M-P39J-R5M2
Vulnerability from github – Published: 2020-09-01 18:55 – Updated: 2023-09-12 18:06The npm-script-demo package is a piece of malware that opens a connection to a command and control server and executed the instructions it is given.
It has been removed from the npm registry.
Recommendation
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer.
The package should be removed, but as full control of the computer has been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "npm-script-demo"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2017-16128"
],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-08-31T18:24:48Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "The `npm-script-demo` package is a piece of malware that opens a connection to a command and control server and executed the instructions it is given.\n\nIt has been removed from the npm registry.\n\n\n## Recommendation\n\nAny computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer.\n\nThe package should be removed, but as full control of the computer has been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.",
"id": "GHSA-322m-p39j-r5m2",
"modified": "2023-09-12T18:06:16Z",
"published": "2020-09-01T18:55:37Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-16128"
},
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/481"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "npm-script-demo is malware"
}
GHSA-33GC-F8V9-V8HM
Vulnerability from github – Published: 2020-09-01 20:41 – Updated: 2021-10-01 13:27ladder-text-js contained a malicious script that attempted to delete all files when npm test was run.
Recommendation
This module has been unpublished from the npm Registry. If you find this module in your environment remove it.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "ladder-text-js"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-08-31T18:31:21Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "`ladder-text-js` contained a malicious script that attempted to delete all files when `npm test` was run.\n\n\n\n## Recommendation\n\nThis module has been unpublished from the npm Registry. If you find this module in your environment remove it.",
"id": "GHSA-33gc-f8v9-v8hm",
"modified": "2021-10-01T13:27:36Z",
"published": "2020-09-01T20:41:40Z",
"references": [
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/651"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Malicious Package in ladder-text-js"
}
GHSA-33QR-M49Q-RXFX
Vulnerability from github – Published: 2025-04-22 18:57 – Updated: 2025-04-22 23:53Impact
Versions 4.2.1, 4.2.2, 4.2.3, and 4.2.4 of xrpl.js were compromised and contained malicious code designed to exfiltrate private keys. If you are using one of these versions, stop immediately and rotate any private keys or secrets used with affected systems.
Version 2.14.2 is also malicious, though it is less likely to lead to exploitation as it is not compatible with other 2.x versions.
Patches
Upgrade to version 4.2.5 or 2.14.3.
Required Actions
To secure funds, think carefully about whether any keys may have been compromised by this supply chain attack, and mitigate by sending funds to secure wallets, and/or rotating keys:
The XRP Ledger supports key rotation: https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair
If any account's master key is potentially compromised, you should disable it: https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair
References
https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "xrpl"
},
"ranges": [
{
"events": [
{
"introduced": "4.2.1"
},
{
"fixed": "4.2.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "xrpl"
},
"ranges": [
{
"events": [
{
"introduced": "2.14.2"
},
{
"fixed": "2.14.3"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"2.14.2"
]
}
],
"aliases": [
"CVE-2025-32965"
],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2025-04-22T18:57:48Z",
"nvd_published_at": "2025-04-22T21:15:45Z",
"severity": "CRITICAL"
},
"details": "### Impact\nVersions 4.2.1, 4.2.2, 4.2.3, and 4.2.4 of xrpl.js were compromised and contained malicious code designed to exfiltrate private keys. If you are using one of these versions, stop immediately and rotate any private keys or secrets used with affected systems.\n\nVersion 2.14.2 is also malicious, though it is less likely to lead to exploitation as it is not compatible with other 2.x versions.\n\n### Patches\nUpgrade to version 4.2.5 or 2.14.3.\n\n### Required Actions\nTo secure funds, think carefully about whether any keys may have been compromised by this supply chain attack, and mitigate by sending funds to secure wallets, and/or rotating keys:\n\nThe XRP Ledger supports key rotation: https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair\n\nIf any account\u0027s master key is potentially compromised, you should disable it: https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair\n\n### References\nhttps://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor",
"id": "GHSA-33qr-m49q-rxfx",
"modified": "2025-04-22T23:53:56Z",
"published": "2025-04-22T18:57:48Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/XRPLF/xrpl.js/security/advisories/GHSA-33qr-m49q-rxfx"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-32965"
},
{
"type": "PACKAGE",
"url": "https://github.com/XRPLF/xrpl.js"
},
{
"type": "WEB",
"url": "https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor"
},
{
"type": "WEB",
"url": "https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair"
},
{
"type": "WEB",
"url": "https://xrpl.org/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Compromised xrpl.js versions 4.2.1, 4.2.2, 4.2.3, 4.2.4, and 2.14.2"
}
GHSA-353R-3V84-9PJJ
Vulnerability from github – Published: 2020-09-01 20:40 – Updated: 2021-10-01 13:25nothing-js contained a malicious script that attempted to delete all files when npm test was run.
Recommendation
This module has been unpublished from the npm Registry. If you find this module in your environment remove it.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "nothing-js"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-08-31T18:31:19Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "`nothing-js` contained a malicious script that attempted to delete all files when `npm test` was run.\n\n\n## Recommendation\n\nThis module has been unpublished from the npm Registry. If you find this module in your environment remove it.",
"id": "GHSA-353r-3v84-9pjj",
"modified": "2021-10-01T13:25:56Z",
"published": "2020-09-01T20:40:36Z",
"references": [
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/650"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Malicious Package in nothing-js"
}
GHSA-36R8-9QQ7-MH43
Vulnerability from github – Published: 2020-09-03 17:02 – Updated: 2021-10-04 19:09All versions of this package contained malware. The package was designed to find and exfiltrate cryptocurrency wallets.
Recommendation
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer.
The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "we3b"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-08-31T18:58:30Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "All versions of this package contained malware. The package was designed to find and exfiltrate cryptocurrency wallets.\n\n\n## Recommendation\n\nAny computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer.\n\nThe package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.",
"id": "GHSA-36r8-9qq7-mh43",
"modified": "2021-10-04T19:09:44Z",
"published": "2020-09-03T17:02:40Z",
"references": [
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/1415"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Malicious Package in we3b"
}
GHSA-36VC-CW62-FQVR
Vulnerability from github – Published: 2018-08-27 19:07 – Updated: 2023-09-05 22:35The shadowsock package is a piece of malware that steals environment variables and sends them to attacker controlled locations.
All versions have been unpublished from the npm registry.
Recommendation
As this package is malware, if you find it installed in your environment, the real security concern is determining how it got there.
If you have found this installed in your environment, you should: 1. Delete the package 2. Clear your npm cache 3. Ensure it is not present in any other package.json files on your system 4. Regenerate your registry credentials, tokens, and any other sensitive credentials that may have been present in your environment variables.
Additionally, any service which may have been exposed via credentials in your environment variables, such as a database, should be reviewed for indicators of compromise as well.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "shadowsock"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2017-16078"
],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-06-16T20:54:19Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "The `shadowsock` package is a piece of malware that steals environment variables and sends them to attacker controlled locations. \n\nAll versions have been unpublished from the npm registry.\n\n\n## Recommendation\n\n\nAs this package is malware, if you find it installed in your environment, the real security concern is determining how it got there. \n\nIf you have found this installed in your environment, you should:\n1. Delete the package\n2. Clear your npm cache\n3. Ensure it is not present in any other package.json files on your system\n4. Regenerate your registry credentials, tokens, and any other sensitive credentials that may have been present in your environment variables. \n\nAdditionally, any service which may have been exposed via credentials in your environment variables, such as a database, should be reviewed for indicators of compromise as well.",
"id": "GHSA-36vc-cw62-fqvr",
"modified": "2023-09-05T22:35:19Z",
"published": "2018-08-27T19:07:23Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-16078"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-36vc-cw62-fqvr"
},
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/517"
}
],
"schema_version": "1.4.0",
"severity": [],
"summary": "Shadowsock is malware"
}
GHSA-377F-VVRC-9WGG
Vulnerability from github – Published: 2020-09-03 19:09 – Updated: 2021-09-30 20:07Version 0.0.5 of zemen contained malicious code. The code when executed in the browser would enumerate password, cvc, cardnumber fields from forms and send the extracted values to https://js-metrics.com/minjs.php?pl=
Recommendation
Remove the package from your environment. It's also recommended to evaluate your application to determine whether or not user data was compromised.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "zemen"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.5"
},
{
"fixed": "0.0.6"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.0.5"
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": true,
"github_reviewed_at": "2020-08-31T18:47:17Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "Version 0.0.5 of `zemen` contained malicious code. The code when executed in the browser would enumerate password, cvc, cardnumber fields from forms and send the extracted values to `https://js-metrics.com/minjs.php?pl=`\n\n\n\n## Recommendation\n\nRemove the package from your environment. It\u0027s also recommended to evaluate your application to determine whether or not user data was compromised.",
"id": "GHSA-377f-vvrc-9wgg",
"modified": "2021-09-30T20:07:38Z",
"published": "2020-09-03T19:09:07Z",
"references": [
{
"type": "WEB",
"url": "https://www.npmjs.com/advisories/1101"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Malicious Package in zemen"
}
GHSA-37PC-8F3J-HPMR
Vulnerability from github – Published: 2026-04-10 00:30 – Updated: 2026-04-10 00:30Smart Slider 3 Pro version 3.5.1.35 for WordPress and Joomla contains a multi-stage remote access toolkit injected through a compromised update system that allows unauthenticated attackers to execute arbitrary code and commands. Attackers can trigger pre-authentication remote shell execution via HTTP headers, establish authenticated backdoors accepting arbitrary PHP code or OS commands, create hidden administrator accounts, exfiltrate credentials and access keys, and maintain persistence through multiple injection points including must-use plugins and core file modifications.
{
"affected": [],
"aliases": [
"CVE-2026-34424"
],
"database_specific": {
"cwe_ids": [
"CWE-506"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-04-09T23:17:00Z",
"severity": "CRITICAL"
},
"details": "Smart Slider 3 Pro version 3.5.1.35 for WordPress and Joomla contains a multi-stage remote access toolkit injected through a compromised update system that allows unauthenticated attackers to execute arbitrary code and commands. Attackers can trigger pre-authentication remote shell execution via HTTP headers, establish authenticated backdoors accepting arbitrary PHP code or OS commands, create hidden administrator accounts, exfiltrate credentials and access keys, and maintain persistence through multiple injection points including must-use plugins and core file modifications.",
"id": "GHSA-37pc-8f3j-hpmr",
"modified": "2026-04-10T00:30:31Z",
"published": "2026-04-10T00:30:31Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-34424"
},
{
"type": "WEB",
"url": "https://mysites.guru/blog/smart-slider-3-pro-supply-chain-compromise"
},
{
"type": "WEB",
"url": "https://patchstack.com/articles/critical-supply-chain-compromise-in-smart-slider-3-pro-full-malware-analysis"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/nextend-smart-slider3-pro/vulnerability/wordpress-smart-slider-3-plugin-3-5-1-35-backdoor-vulnerability"
},
{
"type": "WEB",
"url": "https://smartslider.helpscoutdocs.com/article/2143-joomla-security-advisory-smart-slider-3-pro-3-5-1-35-compromise"
},
{
"type": "WEB",
"url": "https://smartslider.helpscoutdocs.com/article/2144-wordpress-security-advisory-smart-slider-3-pro-3-5-1-35-compromise"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
Mitigation
Remove the malicious code and start an effort to ensure that no more malicious code exists. This may require a detailed review of all code, as it is possible to hide a serious attack in only one or two lines of code. These lines may be located almost anywhere in an application and may have been intentionally obfuscated by the attacker.
CAPEC-442: Infected Software
An adversary adds malicious logic, often in the form of a computer virus, to otherwise benign software. This logic is often hidden from the user of the software and works behind the scenes to achieve negative impacts. Many times, the malicious logic is inserted into empty space between legitimate code, and is then called when the software is executed. This pattern of attack focuses on software already fielded and used in operation as opposed to software that is still under development and part of the supply chain.
CAPEC-448: Embed Virus into DLL
An adversary tampers with a DLL and embeds a computer virus into gaps between legitimate machine instructions. These gaps may be the result of compiler optimizations that pad memory blocks for performance gains. The embedded virus then attempts to infect any machine which interfaces with the product, and possibly steal private data or eavesdrop.
CAPEC-636: Hiding Malicious Data or Code within Files
Files on various operating systems can have a complex format which allows for the storage of other data, in addition to its contents. Often this is metadata about the file, such as a cached thumbnail for an image file. Unless utilities are invoked in a particular way, this data is not visible during the normal use of the file. It is possible for an attacker to store malicious data or code using these facilities, which would be difficult to discover.