The vulnerability, described as a Denial of Service in the E2E Metadata Parser (GHSA-qwc6-vc2v-2ggj), is caused by an API endpoint accepting unbounded request bodies. Analysis of the patches between vulnerable version v2.2.3 and patched version v2.2.4 reveals several changes to address this issue.
The primary vulnerable function is paramE2eStore.ProcessParameter in internal/webserver/api/routing.go. The vulnerability title directly points to the "E2E Metadata Parser". Before the patch, this function read the entire request body into memory to decode JSON, without any size limitation. The patch, in commit dc9347294e18a5ae12bf629dd189c6283aef7568, introduces http.MaxBytesReader to limit the request body to 5MB, directly mitigating the OOM vulnerability.
As a defense-in-depth measure, the patches also harden the file upload functionality. The ProcessNewChunk function in internal/webserver/fileupload/FileUpload.go and the allocateFile function in internal/storage/chunking/Chunking.go were modified in commits e55edf49e1755f17ec59d9328e87abdbb131d017 and f45e869d2a9de22f64cce45b8fe04de7bcc83e89 to enforce file size limits earlier in the upload process. These changes prevent attackers from causing resource exhaustion through the file upload mechanism by declaring excessively large files.
Therefore, during exploitation, a profiler would likely show paramE2eStore.ProcessParameter being called when the E2E metadata endpoint is targeted. If the file upload vector is used, ProcessNewChunk and allocateFile would appear in the runtime profile.