<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 09 Oct 2026 21:00:02 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-76228 — Renovate before 42.68.5 Remote Code Execution via Gradle Wrapper</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-76228</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; renovatebot renovate, mend renovate-ce, mend renovate-ee-server, mend renovate-ee-worker&lt;/p&gt;
&lt;p&gt;Renovate versions &amp;gt;=32.124.0 and before 42.68.5 (and Mend renovate-ce/renovate-ee before 13.3.0) contain a command injection vulnerability in Gradle Wrapper artifact handling. When Renovate processes Gradle Wrapper updates, it invokes a wrapper update command via a shell (e.g. /bin/sh -c ... ./gradlew :wrapper --gradle-distribution-url &amp;lt;value&amp;gt;). If an attacker supplies a malicious gradle-wrapper.properties whose distributionUrl contains shell command substitution syntax such as $(...), the shell evaluates it before Gradle parses the URL, resulting in arbitrary command execution in the Renovate runtime. Exploitation requires the attacker to introduce the malicious file into a repository that Renovate scans; the issue occurs even when allowScripts is disabled.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; renovatebot renovate, mend renovate-ce, mend renovate-ee-server, mend renovate-ee-worker&lt;/p&gt;
&lt;p&gt;Renovate versions &amp;gt;=32.124.0 and before 42.68.5 (and Mend renovate-ce/renovate-ee before 13.3.0) contain a command injection vulnerability in Gradle Wrapper artifact handling. When Renovate processes Gradle Wrapper updates, it invokes a wrapper update command via a shell (e.g. /bin/sh -c ... ./gradlew :wrapper --gradle-distribution-url &amp;lt;value&amp;gt;). If an attacker supplies a malicious gradle-wrapper.properties whose distributionUrl contains shell command substitution syntax such as $(...), the shell evaluates it before Gradle parses the URL, resulting in arbitrary command execution in the Renovate runtime. Exploitation requires the attacker to introduce the malicious file into a repository that Renovate scans; the issue occurs even when allowScripts is disabled.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-76228</guid>
    </item>
    <item>
      <title>GHSA-pfq2-hh62-7m96 — Renovate vulnerable to arbitrary command injection via Gradle Wrapper and malicious `distributionUrl`</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-pfq2-hh62-7m96</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: renovate&lt;/p&gt;
&lt;p&gt;### Summary
Renovate can be tricked into executing shell code while updating the Gradle Wrapper. A malicious `distributionUrl` in `gradle/wrapper/gradle-wrapper.properties` can lead to command execution in the Renovate runtime.&lt;/p&gt;
&lt;p&gt;### Details
When Renovate handles Gradle Wrapper artifacts, it may run a wrapper update command such as:
- `./gradlew :wrapper --gradle-distribution-url &amp;lt;value&amp;gt;`&lt;/p&gt;
&lt;p&gt;In the observed behavior, Renovate executes this via a shell (e.g., `/bin/sh -c ...`).  
If `distributionUrl` contains shell command substitution syntax like `$(...)`, the shell evaluates it **before** Gradle validates/parses the URL.&lt;/p&gt;
&lt;p&gt;After that, Gradle attempts to parse the URL as a URI and fails with `URISyntaxException`, but the shell substitution has already executed.&lt;/p&gt;
&lt;p&gt;This is reproducible even when `allowScripts` is disabled (default is OFF), because this execution happens as part of Gradle Wrapper artifact handling rather than “repository install scripts”.&lt;/p&gt;
&lt;p&gt;Prerequisites / attack conditions:
- The attacker must be able to get a malicious `gradle-wrapper.properties` into a repository that Renovate scans (e.g., direct write access, or a maintainer merges an attacker’s change/PR).
- Renovate must be configured to process Gradle Wrapper updates/artifacts for that repository (default behavior for the Gradle Wrapper manager).&lt;/p&gt;
&lt;p&gt;### PoC
1. Create a repository with a Gradle Wrapper (`gradlew`, `gradlew.bat`, `gradle/wrapper/gradle-wrapper.jar`, and `gradle/wrapper/gradle-wrapper.properties`).…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: renovate&lt;/p&gt;
&lt;p&gt;### Summary
Renovate can be tricked into executing shell code while updating the Gradle Wrapper. A malicious `distributionUrl` in `gradle/wrapper/gradle-wrapper.properties` can lead to command execution in the Renovate runtime.&lt;/p&gt;
&lt;p&gt;### Details
When Renovate handles Gradle Wrapper artifacts, it may run a wrapper update command such as:
- `./gradlew :wrapper --gradle-distribution-url &amp;lt;value&amp;gt;`&lt;/p&gt;
&lt;p&gt;In the observed behavior, Renovate executes this via a shell (e.g., `/bin/sh -c ...`).  
If `distributionUrl` contains shell command substitution syntax like `$(...)`, the shell evaluates it **before** Gradle validates/parses the URL.&lt;/p&gt;
&lt;p&gt;After that, Gradle attempts to parse the URL as a URI and fails with `URISyntaxException`, but the shell substitution has already executed.&lt;/p&gt;
&lt;p&gt;This is reproducible even when `allowScripts` is disabled (default is OFF), because this execution happens as part of Gradle Wrapper artifact handling rather than “repository install scripts”.&lt;/p&gt;
&lt;p&gt;Prerequisites / attack conditions:
- The attacker must be able to get a malicious `gradle-wrapper.properties` into a repository that Renovate scans (e.g., direct write access, or a maintainer merges an attacker’s change/PR).
- Renovate must be configured to process Gradle Wrapper updates/artifacts for that repository (default behavior for the Gradle Wrapper manager).&lt;/p&gt;
&lt;p&gt;### PoC
1. Create a repository with a Gradle Wrapper (`gradlew`, `gradlew.bat`, `gradle/wrapper/gradle-wrapper.jar`, and `gradle/wrapper/gradle-wrapper.properties`).…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-pfq2-hh62-7m96</guid>
    </item>
  </channel>
</rss>
