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
Issue: requirement_mgr::get_by_id() interpolates filter array KEY raw into SQL - unvalidated key becomes arbitrary WHERE fragment.
Root cause: In lib/functions/requirement_mgr.class.php::get_by_id(), the filter building loop interpolates $field2filter (the array key) directly into the SQL string without escaping or allow-listing. Values were quoted but keys were not.
Fix: Added allow-list validation and proper escaping for filter keys/values using ADODB qstr. Also sanitized filters in related helpers (requirement_spec_mgr.class.php, minor hardening in testcase.class.php).
Verification: PHP syntax checks pass; regression test added to tmp/TLU_Test_Cases.md (Regression — Issue #1709). No behavioral change for valid filters; unknown/malicious filter keys are now ignored safely.