Merge pull request 'fix reflected xss when returning errors on web endpoint' (#1472) from escape-errors-v1 into main-v1

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1472
This commit is contained in:
maximilien
2026-06-11 06:51:01 +00:00
4 changed files with 19 additions and 1 deletions
Generated
+16
View File
@@ -1679,6 +1679,7 @@ dependencies = [
"garage_model",
"garage_table",
"garage_util",
"html-escape",
"http 1.4.0",
"http-body-util",
"hyper 1.8.1",
@@ -1949,6 +1950,15 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "html-escape"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476"
dependencies = [
"utf8-width",
]
[[package]]
name = "http"
version = "0.2.12"
@@ -4820,6 +4830,12 @@ dependencies = [
"serde",
]
[[package]]
name = "utf8-width"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091"
[[package]]
name = "utf8_iter"
version = "1.0.4"
+1
View File
@@ -56,6 +56,7 @@ gethostname = "0.4"
git-version = "0.3.4"
hex = "0.4"
hexdump = "0.1"
html-escape = "0.2.13"
hmac = "0.12"
itertools = "0.12"
ipnet = "2.9.0"
+1
View File
@@ -20,6 +20,7 @@ garage_model.workspace = true
garage_util.workspace = true
garage_table.workspace = true
html-escape.workspace = true
thiserror.workspace = true
tracing.workspace = true
percent-encoding.workspace = true
+1 -1
View File
@@ -411,7 +411,7 @@ fn error_to_res(e: Error) -> Response<BoxBody<Error>> {
<li>Message: {s3_message}.</li>
</ul>",
s3_code = err.aws_code(),
s3_message = err,
s3_message = html_escape::encode_text(&err.to_string()),
));
}
let mut http_error = Response::new(string_body(body_str));