You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hardening: prepared statements, XSS fixes, CSRF protection, and CI
SQL injection hardening:
- Migrate all query construction to prepared statements throughout
- Centralize match filter building in syslog_build_match_filter()
- Add lock result validation for partition create/remove operations
- Move partition count query inside lock for atomicity
XSS and CSRF:
- Replace form_selectable_cell with form_selectable_ecell for output escaping
- Add html_escape on user-visible output
- Add CSRF token validation on purge action
- Remove eval() in JS autocomplete, use jQuery .text() for DOM safety
Poller safety:
- Replace max_seq with uniqueID (rand 1-127) for concurrent poller safety
- Add syslog_execute_ticket_command/syslog_execute_alert_command helpers
- DRY refactor of bulk action confirm dialogs
Tests and CI:
- Add SyslogMatchFilter, SyslogPreprocess, SyslogPartition unit tests
- Add integration test CI workflow with MySQL
- Add domain stripping and partitioning integration tests
Signed-off-by: Thomas Vincent <[email protected]>
Copy file name to clipboardExpand all lines: .github/workflows/populate_syslog_incoming.sh
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -5,10 +5,10 @@
5
5
ITERATIONS=100
6
6
7
7
8
-
SQL_ALERT_RULE_INSERT="INSERT INTO syslog_alert (id,hash,name,severity,method,level,num,type,enabled,repeat_alert,open_ticket,message,body,user,date,email,notify,command,notes)
8
+
SQL_ALERT_RULE_INSERT="REPLACE INTO syslog_alert (id,hash,name,severity,method,level,num,type,enabled,repeat_alert,open_ticket,message,body,user,date,email,notify,command,notes)
9
9
VALUES (1,'8f440030d3425e37cb66e5df54902bb0','interface down alert',1,0,1,1,'messageb','on',0,'','interface down','admin',1767376990,NULL,0,NULL,NULL);"
10
10
11
-
SQL_REMOVAL_RULE_INSERT="INSERT INTO syslog_remove (id,hash,name,type,enabled,method,message,user,date,notes)
11
+
SQL_REMOVAL_RULE_INSERT="REPLACE INTO syslog_remove (id,hash,name,type,enabled,method,message,user,date,notes)
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,7 @@
3
3
--- develop ---
4
4
5
5
*issue#250: Fix date filter persistence by validating before shift_span detection
6
-
*issue#258: Execute CREATE TABLE SQL correctly during replication sync
7
-
*issue#278: Extract duplicated alert command execution paths in syslog_process_alerts
8
-
*issue#278: Extract alert command execution into shared helper in functions.php; command tokenization now uses preg_split (handles tabs and consecutive spaces); /bin/sh fallback for non-executable command templates removed (use absolute paths with execute bit set)
6
+
*issue#260: Replace eval-based callback execution in autocomplete handling
9
7
* issue: Making changes to support Cacti 1.3
10
8
* issue: Don't use MyISAM for non-analytical tables
11
9
* issue: The install advisor for Syslog was broken in current Cacti releases
0 commit comments