PVE::ACME - untaint saved account data
authorDietmar Maurer <dietmar@proxmox.com>
Thu, 26 Jul 2018 08:45:25 +0000 (10:45 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 26 Jul 2018 08:54:17 +0000 (10:54 +0200)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
src/PVE/ACME.pm

index e827aa9..38a14a5 100644 (file)
@@ -152,7 +152,9 @@ sub load {
     my ($self) = @_;
     return if $self->{loaded};
     $self->{loaded} = 1;
-    my $data = fromjs(file_get_contents($self->{path}));
+    my $raw = file_get_contents($self->{path});
+    if ($raw =~ m/^(.*)$/s) { $raw = $1; }  # untaint
+    my $data = fromjs($raw);
     $self->{$_} = $data->{$_} for @SAVED_VALUES;
     if (defined(my $keystr = $data->{key})) {
        my $key = Crypt::OpenSSL::RSA->new_private_key($keystr);