My favorite bug class right now: **argument injection.** đ¯
Jellyfin had an unauthenticated endpoint that could turn FFmpeg into a file reader.
đ `/Videos/{itemId}/stream`
An unvalidated query parameter was passed straight into FFmpeg.
The trick wasn't `;id` or shell injection. â
It was an `-vf drawtext` filter that made FFmpeg render `[/]etc[/]shadow` into the video response. đ
â No shell needed
â No semicolon
đ Just argument injection.