Lookup for vulnerable packages by Package URL.
| Purl | pkg:gem/encoded_id-rails@1.0.0.beta2 |
| Type | gem |
| Namespace | |
| Name | encoded_id-rails |
| Version | 1.0.0.beta2 |
| Qualifiers |
|
| Subpath | |
| Is_vulnerable | false |
| Next_non_vulnerable_version | null |
| Latest_non_vulnerable_version | null |
| Affected_by_vulnerabilities |
|
| Fixing_vulnerabilities |
| 0 |
| url |
VCID-x9fv-1c9p-2bet |
| vulnerability_id |
VCID-x9fv-1c9p-2bet |
| summary |
encoded_id-rails potential DOS vulnerability due to URIs with extremely long encoded IDs
The length of URIs and the various parts (eg path segments, query parameters) is usually limited by the webserver processing the incoming request. In the case of Puma the defaults are :
- path segment length: 8192
- Max URI length: 1024 * 12
- Max query length: 1024 * 10
See https://github.com/puma/puma/blob/master/docs/compile_options.md
If too long Puma raises:
> Puma caught this error: HTTP element REQUEST_PATH is longer than the (8192) allowed length (was 12503) (Puma::HttpParserError)
However due to the performance of `hashids` extremely long encoded IDs will consume a large amount of CPU and allocate a huge number of intermediate objects.
For example: |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2024-0241, GHSA-3px7-jm2p-6h2c, GMS-2023-3722
|
| risk_score |
4.0 |
| exploitability |
0.5 |
| weighted_severity |
8.0 |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-x9fv-1c9p-2bet |
|
|
| Risk_score | null |
| Resource_url | http://public2.vulnerablecode.io/packages/pkg:gem/encoded_id-rails@1.0.0.beta2 |