Bug #16947
closedPotential Local File Include vulnerability via Dashboard widget sequence data
100%
Description
The Dashboard widget layout data (sequence) is not validated when making changes to widgets or when displaying widget data.
If a user can write an arbitrary file on the firewall (e.g. /tmp/test.widget.php), they could store a widget sequence value including a widget name that traverses the path to that file (e.g. ../../../../../../../../../../../tmp/test)
The Dashboard will read that PHP file and execute it as if it were a Dashboard widget.
Files
JP Updated by Jim Pingle 2 months ago
- File 16947.patch 16947.patch added
- Status changed from Confirmed to Feedback
- % Done changed from 0 to 100
Fixed in commit 61e736e10e6f6542ce7a7c7bed37fb333c09467f
Added widget data validation before saving and before display.
Patch is attached.
JP Updated by Jim Pingle 2 months ago
- Status changed from Feedback to In Progress
- % Done changed from 100 to 90
There is a problem with certain dashboard configurations rendering blank still, needs more work
JP Updated by Jim Pingle 2 months ago
- File 16947-v2.patch 16947-v2.patch added
- Status changed from In Progress to Feedback
- % Done changed from 90 to 100
Fixed in commit 8fa0daeafdfbbcf9629c51dfc74c55bdab83554d
Some configurations, including the default config.xml, may contain outdated values in some widget data that should be allowed to pass validation.
Updated patch attached.
JP Updated by Jim Pingle 2 months ago
I also updated the default config.xml widget sequence data in ports commit 6d3d4da0cb6e47b821c82382a40e220f99f8da49
JP Updated by Jim Pingle 2 months ago
- Related to Todo #16950: Add upgrade code to normalize widget sequence data added
JP Updated by Jim Pingle about 1 month ago
- Status changed from Feedback to Resolved
JP Updated by Jim Pingle about 1 month ago
- Private changed from Yes to No