Common Weakness Enumeration

CWE-94

Allowed-with-Review

Improper 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.

8339 vulnerabilities reference this CWE, most recent first.

GHSA-9WVX-WM4C-R47F

Vulnerability from github – Published: 2022-05-01 07:26 – Updated: 2022-05-01 07:26
VLAI
Details

The spell checking component of (1) Asbru Web Content Management before 6.1.22, (2) Asbru Web Content Editor before 6.0.22, and (3) Asbru Website Manager before 6.0.22 allows remote attackers to execute arbitrary commands via an unspecified parameter that is not sanitized before Aspell is invoked.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2006-5258"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2006-10-12T22:07:00Z",
    "severity": "MODERATE"
  },
  "details": "The spell checking component of (1) Asbru Web Content Management before 6.1.22, (2) Asbru Web Content Editor before 6.0.22, and (3) Asbru Website Manager before 6.0.22 allows remote attackers to execute arbitrary commands via an unspecified parameter that is not sanitized before Aspell is invoked.",
  "id": "GHSA-9wvx-wm4c-r47f",
  "modified": "2022-05-01T07:26:37Z",
  "published": "2022-05-01T07:26:37Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2006-5258"
    },
    {
      "type": "WEB",
      "url": "http://archives.neohapsis.com/archives/fulldisclosure/2006-10/0306.html"
    },
    {
      "type": "WEB",
      "url": "http://editor.asbrusoft.com/page.php/id=727"
    },
    {
      "type": "WEB",
      "url": "http://secunia.com/advisories/22344"
    },
    {
      "type": "WEB",
      "url": "http://secunia.com/advisories/22353"
    },
    {
      "type": "WEB",
      "url": "http://secunia.com/advisories/22472"
    },
    {
      "type": "WEB",
      "url": "http://wcm.asbrusoft.com/page.php/id=791"
    },
    {
      "type": "WEB",
      "url": "http://www.securityfocus.com/bid/20544"
    },
    {
      "type": "WEB",
      "url": "http://www.vupen.com/english/advisories/2006/4004"
    },
    {
      "type": "WEB",
      "url": "http://www.vupen.com/english/advisories/2006/4060"
    },
    {
      "type": "WEB",
      "url": "http://www.vupen.com/english/advisories/2006/4061"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}

GHSA-9WW8-P9MV-XGQX

Vulnerability from github – Published: 2023-05-15 15:30 – Updated: 2024-04-04 04:07
VLAI
Details

An issue found in FLIR-DVTEL version not specified allows a remote attacker to execute arbitrary code via a crafted request to the management page of the device.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2023-29861"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2023-05-15T15:15:11Z",
    "severity": "CRITICAL"
  },
  "details": "An issue found in FLIR-DVTEL version not specified allows a remote attacker to execute arbitrary code via a crafted request to the management page of the device.",
  "id": "GHSA-9ww8-p9mv-xgqx",
  "modified": "2024-04-04T04:07:14Z",
  "published": "2023-05-15T15:30:22Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-29861"
    },
    {
      "type": "WEB",
      "url": "https://github.com/Duke1410/CVE/blob/main/CVE-2023-29861"
    },
    {
      "type": "WEB",
      "url": "https://woolly-espadrille-ed5.notion.site/The-FLIR-DVTEL-camera-device-has-a-logic-flaw-vulnerability-363a2158e372440b80a2be739271c6f3"
    }
  ],
  "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-9WWG-WC9C-X3QC

Vulnerability from github – Published: 2021-12-11 00:00 – Updated: 2022-07-13 00:01
VLAI
Details

A security vulnerability has been identified in HPE StoreServ Management Console (SSMC). An authenticated SSMC administrator could exploit the vulnerability to inject code and elevate their privilege in SSMC. The scope of this vulnerability is limited to SSMC. Note: The arrays being managed are not impacted by this vulnerability. This vulnerability impacts SSMC versions 3.4 GA to 3.8.1.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2021-29214"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2021-12-10T17:15:00Z",
    "severity": "HIGH"
  },
  "details": "A security vulnerability has been identified in HPE StoreServ Management Console (SSMC). An authenticated SSMC administrator could exploit the vulnerability to inject code and elevate their privilege in SSMC. The scope of this vulnerability is limited to SSMC. Note: The arrays being managed are not impacted by this vulnerability. This vulnerability impacts SSMC versions 3.4 GA to 3.8.1.",
  "id": "GHSA-9wwg-wc9c-x3qc",
  "modified": "2022-07-13T00:01:16Z",
  "published": "2021-12-11T00:00:44Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-29214"
    },
    {
      "type": "WEB",
      "url": "https://support.hpe.com/hpsc/doc/public/display?docLocale=en_US\u0026docId=emr_na-hpesbst04207en_us"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-9WWH-M593-XCGX

Vulnerability from github – Published: 2022-05-14 03:40 – Updated: 2022-05-14 03:40
VLAI
Details

An issue was discovered in Typesetter 5.1. It suffers from a Host header injection vulnerability, Using this attack, a malicious user can poison the web cache or perform advanced password reset attacks or even trigger arbitrary user re-direction.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2018-6889"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2018-02-12T03:29:00Z",
    "severity": "HIGH"
  },
  "details": "An issue was discovered in Typesetter 5.1. It suffers from a Host header injection vulnerability, Using this attack, a malicious user can poison the web cache or perform advanced password reset attacks or even trigger arbitrary user re-direction.",
  "id": "GHSA-9wwh-m593-xcgx",
  "modified": "2022-05-14T03:40:05Z",
  "published": "2022-05-14T03:40:05Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2018-6889"
    },
    {
      "type": "WEB",
      "url": "https://securitywarrior9.blogspot.in/2018/02/host-header-injection-type-setter-cms-51.html"
    },
    {
      "type": "WEB",
      "url": "https://www.exploit-db.com/exploits/44028"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-9WXG-VF3R-56HC

Vulnerability from github – Published: 2026-06-19 17:45 – Updated: 2026-06-19 17:45
VLAI
Summary
OpenZeppelin Contracts Wizard: Line terminators in info.securityContact / info.license can inject lines into generated source
Details

Summary

The Contracts Wizard generators printed info.securityContact and info.license verbatim into a single-line comment of the generated Solidity, Cairo, Stellar/Soroban, and Stylus source without rejecting line terminators. A newline (\n or \r\n) in either field ends the comment, so the text after it is emitted as source rather than remaining inside the comment — allowing arbitrary declarations to be injected into the generated contract.

Impact

This only matters when these fields are filled from input other than the user who will use the generated contract. Normal self-service use does not meet that condition:

  • Web app, AI assistant, and CLI: the user supplies these fields and uses their own output, so a line break only affects their own contract. (These fields are not URL-derived, so shared links cannot set them.)
  • Self-hosted API: same — the end user supplies the options and consumes the result.

The case that matters is an integration that fills these fields from untrusted input — for example, an MCP agent whose tool arguments are derived from content it processed. There, a newline in the value can add lines to output that otherwise looks like normal Wizard source. Impact is integrity-only; there is no execution on any Wizard service.

Patches

Fixed by rejecting line terminators in setInfo — the single code path all surfaces use — so the value can no longer break out of the comment. Upgrade to the patched versions. @openzeppelin/wizard-confidential and @openzeppelin/wizard-uniswap-hooks reuse this setInfo through their @openzeppelin/wizard dependency and receive the fix once that dependency is updated to a patched version.

Show details on source website

{
  "affected": [
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 0.10.10"
      },
      "package": {
        "ecosystem": "npm",
        "name": "@openzeppelin/wizard"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.10.11"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 3.0.0"
      },
      "package": {
        "ecosystem": "npm",
        "name": "@openzeppelin/wizard-cairo"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "3.0.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 0.6.1"
      },
      "package": {
        "ecosystem": "npm",
        "name": "@openzeppelin/wizard-stellar"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.6.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 0.3.0"
      },
      "package": {
        "ecosystem": "npm",
        "name": "@openzeppelin/wizard-stylus"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.3.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [],
  "database_specific": {
    "cwe_ids": [
      "CWE-116",
      "CWE-94"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-06-19T17:45:15Z",
    "nvd_published_at": null,
    "severity": "LOW"
  },
  "details": "## Summary\n\nThe Contracts Wizard generators printed `info.securityContact` and `info.license` verbatim into a single-line comment of the generated Solidity, Cairo, Stellar/Soroban, and Stylus source without rejecting line terminators. A newline (`\\n` or `\\r\\n`) in either field ends the comment, so the text after it is emitted as source rather than remaining inside the comment \u2014 allowing arbitrary declarations to be injected into the generated contract.\n\n## Impact\n\nThis only matters when these fields are filled from input other than the user who will use the generated contract. Normal self-service use does not meet that condition:\n\n- **Web app, AI assistant, and CLI:** the user supplies these fields and uses their own output, so a line break only affects their own contract. (These fields are not URL-derived, so shared links cannot set them.)\n- **Self-hosted API:** same \u2014 the end user supplies the options and consumes the result.\n\nThe case that matters is an integration that fills these fields from untrusted input \u2014 for example, an MCP agent whose tool arguments are derived from content it processed. There, a newline in the value can add lines to output that otherwise looks like normal Wizard source. Impact is integrity-only; there is no execution on any Wizard service.\n\n## Patches\n\nFixed by rejecting line terminators in `setInfo` \u2014 the single code path all surfaces use \u2014 so the value can no longer break out of the comment. Upgrade to the patched versions. `@openzeppelin/wizard-confidential` and `@openzeppelin/wizard-uniswap-hooks` reuse this `setInfo` through their `@openzeppelin/wizard` dependency and receive the fix once that dependency is updated to a patched version.",
  "id": "GHSA-9wxg-vf3r-56hc",
  "modified": "2026-06-19T17:45:15Z",
  "published": "2026-06-19T17:45:15Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/OpenZeppelin/contracts-wizard/security/advisories/GHSA-9wxg-vf3r-56hc"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/OpenZeppelin/contracts-wizard"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "OpenZeppelin Contracts Wizard: Line terminators in info.securityContact / info.license can inject lines into generated source"
}

GHSA-9X3H-HPX6-H3HP

Vulnerability from github – Published: 2022-11-05 12:00 – Updated: 2022-11-09 12:00
VLAI
Details

In Splunk Enterprise versions below 8.2.9, 8.1.12, and 9.0.2, sending a malformed file through the Splunk-to-Splunk (S2S) or HTTP Event Collector (HEC) protocols to an indexer results in a blockage or denial-of-service preventing further indexing.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2022-43572"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2022-11-04T23:15:00Z",
    "severity": "MODERATE"
  },
  "details": "In Splunk Enterprise versions below 8.2.9, 8.1.12, and 9.0.2, sending a malformed file through the Splunk-to-Splunk (S2S) or HTTP Event Collector (HEC) protocols to an indexer results in a blockage or denial-of-service preventing further indexing.",
  "id": "GHSA-9x3h-hpx6-h3hp",
  "modified": "2022-11-09T12:00:24Z",
  "published": "2022-11-05T12:00:22Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-43572"
    },
    {
      "type": "WEB",
      "url": "https://www.splunk.com/en_us/product-security/announcements/svd-2022-1111.html"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-9X4C-63PF-525F

Vulnerability from github – Published: 2020-08-20 14:38 – Updated: 2024-10-07 16:47
VLAI
Summary
openapi-python-client Arbitrary Code Generation vulnerability
Details

Impact

Clients generated with a maliciously crafted OpenAPI Document can generate arbitrary Python code. Subsequent execution of this malicious client is arbitrary code execution.

Giving this a CVSS of 8.0 (high) with CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H/E:P/RL:U/RC:C .

Patches

Fix will be included in version 0.5.3

Workarounds

Inspect OpenAPI documents before generating, or inspect generated code before executing.

For more information

If you have any questions or comments about this advisory: * Open an issue in openapi-python-client * Email us at danthony@triaxtec.com

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "PyPI",
        "name": "openapi-python-client"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.5.3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2020-15142"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2020-08-14T16:09:33Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "### Impact\nClients generated with a maliciously crafted OpenAPI Document can generate arbitrary Python code. Subsequent execution of this malicious client is arbitrary code execution.\n\nGiving this a CVSS of 8.0 (high) with CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H/E:P/RL:U/RC:C .\n\n### Patches\nFix will be included in version 0.5.3\n\n### Workarounds\nInspect OpenAPI documents before generating, or inspect generated code before executing.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [openapi-python-client](https://github.com/triaxtec/openapi-python-client/issues)\n* Email us at [danthony@triaxtec.com](mailto:danthony@triaxtec.com)",
  "id": "GHSA-9x4c-63pf-525f",
  "modified": "2024-10-07T16:47:52Z",
  "published": "2020-08-20T14:38:24Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/triaxtec/openapi-python-client/security/advisories/GHSA-9x4c-63pf-525f"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-15142"
    },
    {
      "type": "WEB",
      "url": "https://github.com/openapi-generators/openapi-python-client/commit/f7a56aae32cba823a77a84a1f10400799b19c19a"
    },
    {
      "type": "WEB",
      "url": "https://github.com/triaxtec/openapi-python-client/commit/f7a56aae32cba823a77a84a1f10400799b19c19a"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/openapi-generators/openapi-python-client"
    },
    {
      "type": "WEB",
      "url": "https://github.com/openapi-generators/openapi-python-client/releases/tag/v.0.5.3"
    },
    {
      "type": "WEB",
      "url": "https://github.com/pypa/advisory-database/tree/main/vulns/openapi-python-client/PYSEC-2020-71.yaml"
    },
    {
      "type": "WEB",
      "url": "https://github.com/triaxtec/openapi-python-client/blob/main/CHANGELOG.md#053---2020-08-13"
    },
    {
      "type": "WEB",
      "url": "https://pypi.org/project/openapi-python-client"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H",
      "type": "CVSS_V4"
    }
  ],
  "summary": "openapi-python-client Arbitrary Code Generation vulnerability"
}

GHSA-9X52-PXHJ-X4J7

Vulnerability from github – Published: 2024-01-29 15:30 – Updated: 2026-07-20 15:31
VLAI
Details

Remote command execution vulnerability in SE-elektronic GmbH E-DDC3.3 affecting versions 03.07.03 and higher. An attacker could send different commands from the operating system to the system via the web configuration functionality of the device.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2024-1015"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2024-01-29T14:15:09Z",
    "severity": "CRITICAL"
  },
  "details": "Remote command execution vulnerability in SE-elektronic GmbH E-DDC3.3 affecting versions 03.07.03 and higher. An attacker could send different commands from the operating system to the system via the web configuration functionality of the device.",
  "id": "GHSA-9x52-pxhj-x4j7",
  "modified": "2026-07-20T15:31:34Z",
  "published": "2024-01-29T15:30:29Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-1015"
    },
    {
      "type": "WEB",
      "url": "https://www.hackplayers.com/2024/01/cve-2024-1014-and-cve-2024-1015.html"
    },
    {
      "type": "WEB",
      "url": "https://www.incibe.es/en/incibe-cert/notices/aviso-sci/multiple-vulnerabilities-se-elektronic-gmbh-products"
    },
    {
      "type": "WEB",
      "url": "https://www.se-elektronic.com/.well-known/csaf/advisories/2026/se-sa-2026_001.json"
    },
    {
      "type": "WEB",
      "url": "https://www.se-elektronic.com/psirt-cybersecurity"
    }
  ],
  "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-9X72-FMXC-QQ9C

Vulnerability from github – Published: 2022-05-02 00:00 – Updated: 2022-05-02 00:00
VLAI
Details

SpeedBit Video Acceleration before 2.2.1.8 does not properly verify the authenticity of updates, which allows man-in-the-middle attackers to execute arbitrary code via a Trojan horse update, as demonstrated by evilgrade and DNS cache poisoning.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2008-3439"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2008-08-01T14:41:00Z",
    "severity": "HIGH"
  },
  "details": "SpeedBit Video Acceleration before 2.2.1.8 does not properly verify the authenticity of updates, which allows man-in-the-middle attackers to execute arbitrary code via a Trojan horse update, as demonstrated by evilgrade and DNS cache poisoning.",
  "id": "GHSA-9x72-fmxc-qq9c",
  "modified": "2022-05-02T00:00:11Z",
  "published": "2022-05-02T00:00:11Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2008-3439"
    },
    {
      "type": "WEB",
      "url": "http://archives.neohapsis.com/archives/bugtraq/2008-07/0250.html"
    },
    {
      "type": "WEB",
      "url": "http://www.infobyte.com.ar/down/Francisco%20Amato%20-%20evilgrade%20-%20ENG.pdf"
    },
    {
      "type": "WEB",
      "url": "http://www.infobyte.com.ar/down/isr-evilgrade-1.0.0.tar.gz"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}

GHSA-9X82-RM84-C6X7

Vulnerability from github – Published: 2026-07-08 20:25 – Updated: 2026-07-08 20:25
VLAI
Summary
DSpace has possible Remote Code Execution (RCE) through Velocity Templates used by LDN
Details

Overview

Remote Code Execution (RCE) is possible via Velocity Templates used by DSpace for COAR Notify/LDN messages. This vulnerability impacts DSpace versions 8.0 <= 8.3, 9.0 <= 9.2. The attacker MUST already have DSpace administrator credentials in order to perform the attack.

This attack is related to the path traversal attack identified in GHSA-9qm4-rh6w-pq5x as it was the impactful part of the "proof-of-concept" attack chain.

Impact

When chained with the LDN Path Traversal Attack identified in GHSA-9qm4-rh6w-pq5x, it may be possible to execute Java directly from Velocity templates using reflection. This is a very high impact vulnerability, but the attack can only be performed by a user that has DSpace Administrator privileges. Disabling LDN (see below) removes all known attack paths.

Velocity is also used for email templating, but there is no known attack path via emails templates. Nonetheless, the patches below also apply to email templates.

Patches

The fix is included in DSpace 8.4, 9.3 and 10.0. Please upgrade to one of these versions or disable LDN (see below)

If users cannot upgrade immediately, it is possible to manually patch their DSpace backend. (No changes are necessary to the frontend.) A pull request exists which can be used to patch systems running DSpace 8.x or 9.x. * Pull request for 9.x: https://github.com/DSpace/DSpace/pull/12548 (Downloadable patch file) * Pull request for 8.x: https://github.com/DSpace/DSpace/pull/12549 (Downloadable patch file)

Apply the patch to a DSpace instance

If at all possible, DSpace project maintainers recommend disabling LDN (see below) or upgrading a DSpace site based on the upgrade instructions. However, if users are unable to do so, they can manually apply the above patches to their Space backend as follows: 1. Download the appropriate patch file to the machine where DSpace backend is running 2. From the [dspace-src] folder, apply the patch, e.g. git apply [name-of-file].patch 3. Now, update the application's DSpace site (based loosely on the Upgrade instructions). This generally involves three steps: 1. Rebuild DSpace, e.g. mvn -U clean package (This will recompile all DSpace backend code) 2. Redeploy DSpace, e.g. ant update (This will copy all newly built code to the application's installation directory). Depending on an application's setup users also may need to copy the updated "server" webapp over to their Tomcat webapps folder. 3. Restart Tomcat (or runnable JAR)

Workarounds

  • In dspace.cfg or local.cfg, disable LDN (set ldn.enabled=false) if it is not crucial to the operation of the repository. (NOTE: LDN is disabled by default, so many DSpace sites may not use this feature)
  • Once users have patched theirr site or upgraded, they may safely enable LDN again.

Resources

This vulnerability is similar to vulnerabilities reported by Velocity itself: * Velocity 2.2. CVE: https://www.cve.org/CVERecord?id=CVE-2020-13936 * This was patched in Velocity 2.3, and DSpace already includes this patch.

Credits

Discovered & reported by Pablo Picurelli Ortiz (@superpegaso2703), cybersecurity student at Universidad Rey Juan Carlos. Reported as a possible attack combined with the LDN Path Traversal vulnerability. Code fix developed by Kim Shepherd (@kshepherd) of The Library Code

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.dspace:dspace-api"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "8.0-rc1"
            },
            {
              "fixed": "8.4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.dspace:dspace-api"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "9.0-rc1"
            },
            {
              "fixed": "9.3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.dspace:dspace-api"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "10.0-rc1"
            },
            {
              "fixed": "10.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "10.0-rc1"
      ]
    }
  ],
  "aliases": [
    "CVE-2026-49832"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-07-08T20:25:01Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "## Overview\n\nRemote Code Execution (RCE) is possible via Velocity Templates used by DSpace for [COAR Notify/LDN messages](https://wiki.lyrasis.org/spaces/DSDOC9x/pages/379126679/COAR+Notify). _This vulnerability impacts DSpace versions 8.0 \u003c= 8.3, 9.0 \u003c= 9.2._ The attacker MUST already have DSpace administrator credentials in order to perform the attack.\n\nThis attack is related to the path traversal attack identified in [GHSA-9qm4-rh6w-pq5x](https://github.com/DSpace/DSpace/security/advisories/GHSA-9qm4-rh6w-pq5x) as it was the impactful part of the \"proof-of-concept\" attack chain.\n\n## Impact\n\nWhen chained with the LDN Path Traversal Attack identified in [GHSA-9qm4-rh6w-pq5x](https://github.com/DSpace/DSpace/security/advisories/GHSA-9qm4-rh6w-pq5x), it may be possible to execute Java directly from Velocity templates using reflection.  This is a very high impact vulnerability, but the attack can only be performed by a user that has DSpace Administrator privileges.  Disabling LDN (see below) removes all known attack paths.\n\nVelocity is also used for email templating, but there is no known attack path via emails templates. Nonetheless, the patches below also apply to email templates.\n\n## Patches\n\nThe fix is included in DSpace 8.4, 9.3 and 10.0.  Please upgrade to one of these versions or disable LDN (see below)\n\nIf users cannot upgrade immediately, it is possible to manually patch their DSpace backend. (No changes are necessary to the frontend.) A pull request exists which can be used to patch systems running DSpace 8.x or 9.x. \n* Pull request for 9.x: https://github.com/DSpace/DSpace/pull/12548  ([Downloadable patch file](https://github.com/DSpace/DSpace/pull/12548.patch))\n* Pull request for 8.x: https://github.com/DSpace/DSpace/pull/12549  ([Downloadable patch file](https://github.com/DSpace/DSpace/pull/12549.patch))\n\n### Apply the patch to a DSpace instance\nIf at all possible, DSpace project maintainers recommend disabling LDN (see below) or upgrading a DSpace site based on the upgrade instructions. However, if users are unable to do so, they can manually apply the above patches to their Space backend as follows:\n1. Download the appropriate patch file to the machine where DSpace backend is running\n2. From the `[dspace-src]` folder, apply the patch, e.g. `git apply [name-of-file].patch`\n3. Now, update the application\u0027s DSpace site (based loosely on the Upgrade instructions). This generally involves three steps:\n    1. Rebuild DSpace, e.g. `mvn -U clean package`  (This will recompile all DSpace backend code)\n    2. Redeploy DSpace, e.g. `ant update`  (This will copy all newly built code to the application\u0027s installation directory). Depending on an application\u0027s setup users also may need to copy the updated \"server\" webapp over to their Tomcat webapps folder.\n    3. Restart Tomcat (or runnable JAR)\n\n## Workarounds\n* In `dspace.cfg` or `local.cfg`, disable LDN (set `ldn.enabled=false`) if it is not crucial to the operation of the repository.  (NOTE: LDN is disabled by default, so many DSpace sites may not use this feature)\n* Once users have patched theirr site or upgraded, they may safely enable LDN again.\n\n## Resources\nThis vulnerability is similar to vulnerabilities reported by Velocity itself:\n* Velocity 2.2. CVE: https://www.cve.org/CVERecord?id=CVE-2020-13936\n    * This was patched in Velocity 2.3, and DSpace already includes this patch.\n\n## Credits\n\nDiscovered \u0026 reported by Pablo Picurelli Ortiz (@superpegaso2703), cybersecurity student at Universidad Rey Juan Carlos. Reported as a possible attack combined with the LDN Path Traversal vulnerability.\nCode fix developed by Kim Shepherd (@kshepherd) of The Library Code",
  "id": "GHSA-9x82-rm84-c6x7",
  "modified": "2026-07-08T20:25:01Z",
  "published": "2026-07-08T20:25:01Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/DSpace/DSpace/security/advisories/GHSA-9x82-rm84-c6x7"
    },
    {
      "type": "WEB",
      "url": "https://github.com/DSpace/DSpace/pull/12548"
    },
    {
      "type": "WEB",
      "url": "https://github.com/DSpace/DSpace/pull/12549"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/DSpace/DSpace"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "DSpace has possible Remote Code Execution (RCE)  through Velocity Templates used by LDN"
}

Mitigation
Architecture and Design

Strategy: Refactoring

Refactor your program so that you do not have to dynamically generate code.

Mitigation
Architecture and Design
  • 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
Implementation

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
Testing

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
Operation

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
Operation

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
Implementation

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.