[pve-devel] [PATCH v11 qemu-server 08/14] parse ovf: untaint path when calling file_size_info
Fabian Ebner
f.ebner at proxmox.com
Mon Mar 7 13:17:36 CET 2022
Prepare for calling parse_ovf via API, where the -T switch is used.
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
Changes from v10:
* Move untaint to outside of the function call.
PVE/QemuServer/OVF.pm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/PVE/QemuServer/OVF.pm b/PVE/QemuServer/OVF.pm
index 0376cbf..b97b052 100644
--- a/PVE/QemuServer/OVF.pm
+++ b/PVE/QemuServer/OVF.pm
@@ -221,10 +221,11 @@ ovf:Item[rasd:InstanceID='%s']/rasd:ResourceType", $controller_id);
die "error parsing $filepath, file seems not to exist at $backing_file_path\n";
}
- my $virtual_size;
- if ( !($virtual_size = PVE::Storage::file_size_info($backing_file_path)) ) {
- die "error parsing $backing_file_path, size seems to be $virtual_size\n";
- }
+ ($backing_file_path) = $backing_file_path =~ m|^(/.*)|; # untaint
+
+ my $virtual_size = PVE::Storage::file_size_info($backing_file_path);
+ die "error parsing $backing_file_path, cannot determine file size\n"
+ if !$virtual_size;
$pve_disk = {
disk_address => $pve_disk_address,
--
2.30.2
More information about the pve-devel
mailing list