CVE-2026-109309: Gin File Served From Unvalidated Struct Field

A file path taken directly from a struct field (data that originates outside this function, e.g. a decoded request or plugin response) is passed to gin's Context.File/Context.FileAttachment without any validation or confinement. gin serves absolute paths as-is and resolves relative paths against the process CWD, so an attacker-controlled Path yields arbitrar

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0Go
greprules fetch cve-2026-109309-gin-file-served-from-unvalidated-struct-field --engine opengrep

Description

A file path taken directly from a struct field (data that originates outside this function, e.g. a decoded request or plugin response) is passed to gin's Context.File/Context.FileAttachment without any validation or confinement. gin serves absolute paths as-is and resolves relative paths against the process CWD, so an attacker-controlled Path yields arbitrar