Taint precision for where() array forms and redirect responses.
Fixes
- Fix
TaintedSqlfalse positives onwhere([[...]])nested-condition arrays: a static receiver spelling (Model::where(...)) skipped the strip entirely, and the inner condition value was scalar-gated so anymixed-typed request value (the common case) kept the sink. Also closes a false negative where a Model subclass with its own concretewhere()override had its real sink stripped (#1314).
$term = (string) $request->input('term');
-User::where([['name', '=', $term]])->get();
-// TaintedSql (false positive) -- static receiver wasn't recognized as PDO-bound
User::where([['code', '=', $request->keyword]])->first();
-// TaintedSql (false positive) -- mixed-typed value failed the scalar gate
+// clean -- both forms are PDO-bound, matching the instance-receiver behavior- Fix
TaintedSSRFincorrectly firing alongsideTaintedHeaderonredirect()and theRedirector/ResponseFactoryredirect family. A redirect sets aLocationheader for the browser to follow; the server makes no outbound request, so it's an open-redirect/header-injection sink, not SSRF (#1315).
-return redirect($request->url());
-// TaintedSSRF + TaintedHeader (SSRF was mislabelled)
+return redirect($request->url());
+// TaintedHeader onlyFull Changelog: v4.15.2...v4.15.3