Lookup for vulnerable packages by Package URL.
| Purl | pkg:rpm/redhat/podman@3:4.4.1-10.3.rhaos4.13?arch=el9 |
| Type | rpm |
| Namespace | redhat |
| Name | podman |
| Version | 3:4.4.1-10.3.rhaos4.13 |
| Qualifiers |
|
| Subpath | |
| Is_vulnerable | true |
| Next_non_vulnerable_version | null |
| Latest_non_vulnerable_version | null |
| Affected_by_vulnerabilities |
| 0 |
| url |
VCID-fcfw-7u4r-ebf8 |
| vulnerability_id |
VCID-fcfw-7u4r-ebf8 |
| summary |
Potential memory exhaustion attack due to sparse slice deserialization
### Details
Running `schema.Decoder.Decode()` on a struct that has a field of type `[]struct{...}` opens it up to malicious attacks regarding memory allocations, taking advantage of the sparse slice functionality. For instance, in the Proof of Concept written below, someone can specify to set a field of the billionth element and it will allocate all other elements before it in the slice.
In the local environment environment for my project, I was able to call an endpoint like `/innocent_endpoint?arr.10000000.X=1` and freeze my system from the memory allocation while parsing `r.Form`. I think [this line](https://github.com/gorilla/schema/blob/main/decoder.go#L223) is responsible for allocating the slice, although I haven't tested to make sure, so it's just an educated guess.
### Proof of Concept
The following proof of concept works on both v1.2.0 and v1.2.1. I have not tested earlier versions.
```go
package main
import (
"fmt"
"github.com/gorilla/schema"
)
func main() {
dec := schema.NewDecoder()
var result struct {
Arr []struct{ Val int }
}
if err := dec.Decode(&result, map[string][]string{"arr.1000000000.Val": {"1"}}); err != nil {
panic(err)
}
fmt.Printf("%#+v\n", result)
}
```
### Impact
Any use of `schema.Decoder.Decode()` on a struct with arrays of other structs could be vulnerable to this memory exhaustion vulnerability. There seems to be no possible solution that a developer using this library can do to disable this behaviour without fixing it in this project, so all uses of Decode that fall under this umbrella are affected. A fix that doesn't require a major change may also be harder to find, since it could break compatibility with some other intended use-cases. |
| references |
| 0 |
|
| 1 |
| reference_url |
https://api.first.org/data/v1/epss?cve=CVE-2024-37298 |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50188 |
| published_at |
2026-04-18T12:55:00Z |
|
| 1 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50143 |
| published_at |
2026-04-13T12:55:00Z |
|
| 2 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50146 |
| published_at |
2026-04-12T12:55:00Z |
|
| 3 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50156 |
| published_at |
2026-04-09T12:55:00Z |
|
| 4 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50173 |
| published_at |
2026-04-11T12:55:00Z |
|
| 5 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.5013 |
| published_at |
2026-04-02T12:55:00Z |
|
| 6 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50158 |
| published_at |
2026-04-04T12:55:00Z |
|
| 7 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50108 |
| published_at |
2026-04-07T12:55:00Z |
|
| 8 |
| value |
0.00267 |
| scoring_system |
epss |
| scoring_elements |
0.50162 |
| published_at |
2026-04-21T12:55:00Z |
|
|
| url |
https://api.first.org/data/v1/epss?cve=CVE-2024-37298 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
|
| 10 |
|
| 11 |
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 |
|
|
| fixed_packages |
|
| aliases |
CVE-2024-37298, GHSA-3669-72x9-r9p3
|
| risk_score |
4.0 |
| exploitability |
0.5 |
| weighted_severity |
8.0 |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-fcfw-7u4r-ebf8 |
|
|
| Fixing_vulnerabilities |
|
| Risk_score | 4.0 |
| Resource_url | http://public2.vulnerablecode.io/packages/pkg:rpm/redhat/podman@3:4.4.1-10.3.rhaos4.13%3Farch=el9 |