security(import): validate Data Source item fields coming from Template XML (#7720)

* security(import): validate Data Source item fields coming from Template XML

data_source_name, rrd_minimum and rrd_maximum reach an RRDtool command line
but never pass through the data_sources.php form on the import path, so the
same field rules are applied at the XML handoff instead.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* chore: add the CHANGELOG entry

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(import): name the rejection and keep the value out of the log lines

Code 7 reads as an XML parse error, which this is not, and the value comes
from the file being imported.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* style: use a line comment to satisfy php-cs-fixer

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: resolve includes through Cacti path constants

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* ci: restore changelog entry ordering

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(changelog): order the 7720 issue entry before features and drop a duplicate

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
This commit is contained in:
Thomas Vincent authored and GitHub committed 2026-08-31 17:08:26 -04:00
1 parent c77906b144
commit 668333b7c9
4 files changed
+348 -2

No files matched your search

+1
View File
@@ -166,6 +166,7 @@ Cacti CHANGELOG
-issue#7469: Escape path_php_binary before it reaches shell_exec in test_data_source
-issue#7466: Escape path_stderrlog before it reaches the poller stderr shell redirect
-issue#7658: Resolve client addresses only through explicitly trusted proxies
-issue#7720: Data Source item fields imported from a Template XML are not held to the data_sources.php field rules
-feature#7835: Add cacti_snmp_session_from_host() to build SNMP sessions from a device row
-feature#412: Import Export for Graph and Tree rules
-feature#1214: Move Tree Create/Remove/Modify Functions to lib/api_tree.php