diff --git a/crates/bashkit/src/builtins/curl.rs b/crates/bashkit/src/builtins/curl.rs index dfda09947..b2f14ba2b 100644 --- a/crates/bashkit/src/builtins/curl.rs +++ b/crates/bashkit/src/builtins/curl.rs @@ -295,7 +295,8 @@ impl Builtin for Curl { } /// Sanitize a multipart field name or filename to prevent header injection. -/// Rejects CR/LF characters (which could inject headers) and escapes double quotes. +/// Rejects CR/LF characters (which could inject headers) and escapes quoted-string +/// metacharacters so names cannot terminate `Content-Disposition` parameters. fn sanitize_multipart_name(value: &str, label: &str) -> std::result::Result { if value.contains('\r') || value.contains('\n') { return Err(format!( @@ -303,7 +304,15 @@ fn sanitize_multipart_name(value: &str, label: &str) -> std::result::Result