]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
ddns.cgi: Fixes bug 13884
authorAdolf Belka <adolf.belka@ipfire.org>
Thu, 25 Sep 2025 11:12:44 +0000 (13:12 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 2 Oct 2025 16:55:02 +0000 (16:55 +0000)
Fixes: bug 13884 - ddns.cgi LOGIN PASSWORD SERVICE Stored Cross-Site Scripting
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
html/cgi-bin/ddns.cgi

index 34475b75cd989d0b6313a18326ef2f173630a0f8..60565da3fdcd0cdc220dffc756fa8353fac2869d 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -226,6 +226,9 @@ if (($settings{'ACTION'} eq $Lang::tr{'add'}) || ($settings{'ACTION'} eq $Lang::
                        flock FILE, 2;
 
                        # Add account data to the file.
+                       $settings{'SERVICE'} = &Header::escape(($settings{'SERVICE'});
+                       $settings{'LOGIN'} = &Header::escape(($settings{'LOGIN'});
+                       $settings{'PASSWORD'} = &Header::escape(($settings{'PASSWORD'});
                        print FILE "$settings{'SERVICE'},$hostname,$domain,$settings{'PROXY'},$settings{'WILDCARDS'},$settings{'LOGIN'},$settings{'PASSWORD'},$settings{'ENABLED'}\n";
 
                        # Close file after writing.