Bug #16114
closedPotential XSS in Firewall Schedules
100%
Description
The page at firewall_schedule_edit.php does not perform sufficient validation on the schedule values submitted by users. This value is sent back to the user on firewall_schedule.php without encoding, which is a potential XSS vector. Furthermore, the value may also cause a PHP error on firewall_schedule_edit.php which prevents further edits from being made to schedules.
Creating a new entry with the following data reproduces the problem condition:
{
"name": "XSS_Test_Sched",
"descr": "XSS+Test",
"monthsel": "3",
"starttimehour": "0",
"starttimemin": "00",
"stoptimehour": "23",
"stoptimemin": "59",
"timerangedescr": "",
"tempFriendlyTime0": "Sun",
"starttime0": "0:00",
"stoptime0": "23:59",
"timedescr0": "",
"schedule0": "w11p3-m3d12\"><script>alert('XSS')</script>",
"marker": "",
"save": "Save"
}
Attempting to edit the problematic entry will result in a PHP error:
PHP Fatal error: Uncaught TypeError: mktime(): Argument #5 ($day) must be of type ?int, string given in /usr/local/www/firewall_schedule_edit.php:494
Stack trace:
#0 /usr/local/www/firewall_schedule_edit.php(494): mktime(0, 0, 0, '3', '12"><572025-03-...', '2025')
#1 {main}
thrown in /usr/local/www/firewall_schedule_edit.php on line 494
Files
Updated by Jim Pingle 7 months ago
- File poc-xss-fwsched-16114.py added
- Description updated (diff)
Attached is a small proof of concept script which can trigger the problem. Ensure there is no schedule named XSS_Test_Sched before running the script.
After running the script, an XSS alert will appear on firewall_schedule.php. Attempting to edit the problematic schedule will result in a PHP error.
Updated by Jim Pingle 7 months ago
- File poc-xss-fwsched-16114.py poc-xss-fwsched-16114.py added
Updated POC.
Updated by Jim Pingle 7 months ago
- Status changed from Confirmed to Feedback
- % Done changed from 0 to 100
Applied in changeset dfc70e51d556d8c1724bfc7f1fd5fe4b73faab3b.
Updated by Georgiy Tyutyunnik 6 months ago
tested, reproduced on 25.07.a.20250331.2135
fixed in 25.07.a.20250409.0600 and later
Updated by Jim Pingle 4 months ago
- Plus Target Version changed from 25.03 to 25.07