fix(vfs): V-08 — disallow tab control character in validate path safety
This commit is contained in:
+2
-1
@@ -691,7 +691,7 @@ pub fn validate_path_safety(path: &str) -> Result<(), FsError> {
|
|||||||
return Err(FsError::Forbidden);
|
return Err(FsError::Forbidden);
|
||||||
}
|
}
|
||||||
for c in path.chars() {
|
for c in path.chars() {
|
||||||
if (c as u32) < 0x20 && c != '\t' {
|
if (c as u32) < 0x20 {
|
||||||
return Err(FsError::Forbidden);
|
return Err(FsError::Forbidden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1398,6 +1398,7 @@ mod tests {
|
|||||||
assert!(validate_path_safety("/bad\x01file.txt").is_err());
|
assert!(validate_path_safety("/bad\x01file.txt").is_err());
|
||||||
assert!(validate_path_safety("/bad\rfile.txt").is_err());
|
assert!(validate_path_safety("/bad\rfile.txt").is_err());
|
||||||
assert!(validate_path_safety("/bad\nfile.txt").is_err());
|
assert!(validate_path_safety("/bad\nfile.txt").is_err());
|
||||||
|
assert!(validate_path_safety("/bad\tfile.txt").is_err());
|
||||||
|
|
||||||
// 3. Gültiger Pfad
|
// 3. Gültiger Pfad
|
||||||
assert!(validate_path_safety("/normal_file_123.txt").is_ok());
|
assert!(validate_path_safety("/normal_file_123.txt").is_ok());
|
||||||
|
|||||||
Reference in New Issue
Block a user