Gin Web Framework does not properly sanitize filename parameter of Context.FileAttachment function
Date: 2023-05
Affected: go/github.com/gin-gonic/gin
Attack vector: other
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2023-29401
CWE: CWE-494
CVSS: 4.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N)

The filename parameter of the Context.FileAttachment function is not properly sanitized. A maliciously crafted filename can cause the Content-Disposition header to be sent with an unexpected filename value or otherwise modify the Content-Disposition header. For example, a filename of "setup.bat&quot;;x=.txt" will be sent as a file named "setup.bat". If the FileAttachment function is called with names provided by an untrusted source, this may permit an attacker to cause a file to be served with a name different than provided. Maliciously crafted attachment file name can modify the Content-Disposition header.


Mitigations:

Architectural layers (MAESTRO):