CVE-2024-35194
Stacklok Minder vulnerable to denial of service from maliciously crafted templates
Minder is a software supply chain security platform. Prior to version 0.0.50, Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates. Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash. This vulnerability is fixed in 0.0.50.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
5.3
Stacklok Minder vulnerable to denial of service from maliciously crafted templates
Minder is a software supply chain security platform. Prior to version 0.0.50, Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates. Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash. This vulnerability is fixed in 0.0.50.
- Record
CVE-2024-35194- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
EUVDEUVD-2024-1580
5.3
Minder is a software supply chain security platform. Prior to version 0.0.50, Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates. Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash. This vulnerability is fixed in 0.0.50.
- Record
EUVD-2024-1580- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-crgc-2583-rw27
5.3
Stacklok Minder vulnerable to denial of service from maliciously crafted templates
Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates.
Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash.
One of these places is the REST ingester:
With control over both endpoint and retp on the following line:
… an attacker can make Minder generate a large template that Minder reads into memory on the following line by invoking endpoint.String():
Consider this example:
package main
import (
"fmt"
"html/template"
"os"
)
type EndpointTemplateParams struct {
// Params are the parameters to be used in the template
Params map[string]any
}
func main() {
retp := &EndpointTemplateParams{
Params: map[string]any{
"params": make([]string, 10),
},
}
fmt.Println(retp)
const templ = `
{{range $idx, $e := .Params.params}}
loooooooooooooooooooooooooooooooong-string-{{$idx}}
{{end}}
{{range $idx, $e := .Params.params}}
loooooooooooooooooooooooooooooooong-string-{{$idx}}
{{end}}
{{range $idx, $e := .Params.params}}
loooooooooooooooooooooooooooooooong-string-{{$idx}}
{{end}}`
tmpl := template.Must(template.New("").Parse(templ))
if err := tmpl.Execute(os.Stdout, retp); err != nil {
panic(err)
}
}
This example imitates the behavior on these lines:
Running this example generates the following template:
loooooooooooooooooooooooooooooooong-string-0
loooooooooooooooooooooooooooooooong-string-1
loooooooooooooooooooooooooooooooong-string-2
loooooooooooooooooooooooooooooooong-string-3
loooooooooooooooooooooooooooooooong-string-4
loooooooooooooooooooooooooooooooong-string-5
loooooooooooooooooooooooooooooooong-string-6
loooooooooooooooooooooooooooooooong-string-7
loooooooooooooooooooooooooooooooong-string-8
loooooooooooooooooooooooooooooooong-string-9
loooooooooooooooooooooooooooooooong-string-0
loooooooooooooooooooooooooooooooong-string-1
loooooooooooooooooooooooooooooooong-string-2
loooooooooooooooooooooooooooooooong-string-3
loooooooooooooooooooooooooooooooong-string-4
loooooooooooooooooooooooooooooooong-string-5
loooooooooooooooooooooooooooooooong-string-6
loooooooooooooooooooooooooooooooong-string-7
loooooooooooooooooooooooooooooooong-string-8
loooooooooooooooooooooooooooooooong-string-9
loooooooooooooooooooooooooooooooong-string-0
loooooooooooooooooooooooooooooooong-string-1
loooooooooooooooooooooooooooooooong-string-2
loooooooooooooooooooooooooooooooong-string-3
loooooooooooooooooooooooooooooooong-string-4
loooooooooooooooooooooooooooooooong-string-5
loooooooooooooooooooooooooooooooong-string-6
loooooooooooooooooooooooooooooooong-string-7
loooooooooooooooooooooooooooooooong-string-8
loooooooooooooooooooooooooooooooong-string-9
A malicious user can call the loop more times,…
- Record
GHSA-crgc-2583-rw27- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
NVD
5.3
Minder is a software supply chain security platform. Prior to version 0.0.50, Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates. Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash. This vulnerability is fixed in 0.0.50.
- Record
CVE-2024-35194- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSV
5.3
Stacklok Minder vulnerable to denial of service from maliciously crafted templates
Minder is a software supply chain security platform. Prior to version 0.0.50, Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates. Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash. This vulnerability is fixed in 0.0.50.
- Record
CVE-2024-35194- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVGHSA-crgc-2583-rw27
5.3
Stacklok Minder vulnerable to denial of service from maliciously crafted templates
Minder engine is susceptible to a denial of service from memory exhaustion that can be triggered from maliciously created templates.
Minder engine uses templating to generate strings for various use cases such as URLs, messages for pull requests, descriptions for advisories. In some cases can the user control both the template and the params for it, and in a subset of these cases, Minder reads the generated template entirely into memory. When Minders templating meets both of these conditions, an attacker is able to generate large enough templates that Minder will exhaust memory and crash.
One of these places is the REST ingester:
With control over both endpoint and retp on the following line:
… an attacker can make Minder generate a large template that Minder reads into memory on the following line by invoking endpoint.String():
Consider this example:
package main
import (
"fmt"
"html/template"
"os"
)
type EndpointTemplateParams struct {
// Params are the parameters to be used in the template
Params map[string]any
}
func main() {
retp := &EndpointTemplateParams{
Params: map[string]any{
"params": make([]string, 10),
},
}
fmt.Println(retp)
const templ = `
{{range $idx, $e := .Params.params}}
loooooooooooooooooooooooooooooooong-string-{{$idx}}
{{end}}
{{range $idx, $e := .Params.params}}
loooooooooooooooooooooooooooooooong-string-{{$idx}}
{{end}}
{{range $idx, $e := .Params.params}}
loooooooooooooooooooooooooooooooong-string-{{$idx}}
{{end}}`
tmpl := template.Must(template.New("").Parse(templ))
if err := tmpl.Execute(os.Stdout, retp); err != nil {
panic(err)
}
}
This example imitates the behavior on these lines:
Running this example generates the following template:
loooooooooooooooooooooooooooooooong-string-0
loooooooooooooooooooooooooooooooong-string-1
loooooooooooooooooooooooooooooooong-string-2
loooooooooooooooooooooooooooooooong-string-3
loooooooooooooooooooooooooooooooong-string-4
loooooooooooooooooooooooooooooooong-string-5
loooooooooooooooooooooooooooooooong-string-6
loooooooooooooooooooooooooooooooong-string-7
loooooooooooooooooooooooooooooooong-string-8
loooooooooooooooooooooooooooooooong-string-9
loooooooooooooooooooooooooooooooong-string-0
loooooooooooooooooooooooooooooooong-string-1
loooooooooooooooooooooooooooooooong-string-2
loooooooooooooooooooooooooooooooong-string-3
loooooooooooooooooooooooooooooooong-string-4
loooooooooooooooooooooooooooooooong-string-5
loooooooooooooooooooooooooooooooong-string-6
loooooooooooooooooooooooooooooooong-string-7
loooooooooooooooooooooooooooooooong-string-8
loooooooooooooooooooooooooooooooong-string-9
loooooooooooooooooooooooooooooooong-string-0
loooooooooooooooooooooooooooooooong-string-1
loooooooooooooooooooooooooooooooong-string-2
loooooooooooooooooooooooooooooooong-string-3
loooooooooooooooooooooooooooooooong-string-4
loooooooooooooooooooooooooooooooong-string-5
loooooooooooooooooooooooooooooooong-string-6
loooooooooooooooooooooooooooooooong-string-7
loooooooooooooooooooooooooooooooong-string-8
loooooooooooooooooooooooooooooooong-string-9
A malicious user can call the loop more times,…
- Record
GHSA-crgc-2583-rw27- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVGO-2024-2871 No score
Stacklok Minder vulnerable to denial of service from maliciously crafted templates in github.com/stacklok/minder
Stacklok Minder vulnerable to denial of service from maliciously crafted templates in github.com/stacklok/minder
- Record
GO-2024-2871- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/stacklok/minderGo |
before 0.0.50 | 0.0.50 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-35194 is a medium vulnerability (CVSS 5.3) in Mindersec Minder, published May 20, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. Fixed in github.com/stacklok/minder 0.0.50.
References
github.com/stacklok/minder/security/advisories/GHSA-crgc-2583-rw27
github.com/stacklok/minder/commit/fe321d345b4f738de6a06b13207addc72b59f892
nvd.nist.gov/vuln/detail/CVE-2024-35194
github.com/advisories/GHSA-crgc-2583-rw27
github.com/CVEProject/cvelistV5/tree/main/cves/2024/35xxx/CVE-2024-35194.json
github.com/stacklok/minder
Left out here: the rest of 2 source descriptions. The JSON record has them.