Repository navigation
cluster: absorb CodeQL path-injection #4349 #4350 #4351 - #4352
natechadwick-intsof merged 9 commits into
Conversation
Contain package config files under RxDir via requireSafeFileName and requireUnderBase before File.exists / FileInputStream. Parent audit #4348. > Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-security.
Reject NUL paths, open the canonical file, and add getFileContentUnderBase with requireUnderBase. Parent audit #4348. > Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-security.
Contain application save paths under RxDir via requireFileUnderRxDir before exists/isFile/mkdirs. Parent audit #4348. > Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-security.
Absorb fix/codeql-alert-2039-path-injection (PSConfigService path-injection). > Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-cluster.
Absorb fix/codeql-alert-2045-path-injection (IOTools.getFileContent path-injection). Union: keep PSConfigService and IOTools model barriers + suppression rows. > Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-cluster.
Absorb fix/codeql-alert-2046-path-injection (object-store save files). Union: keep PSConfigService, IOTools, and object-store suppression rows. > Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-cluster.
|
Parent audit issue: #4348 This cluster remains the live mitigation for open CodeQL alerts #2039–#2050 (
|
|
qa_deferred_quality — not assigning human QA for this cluster. This-run PR #4352 (absorbs superseded #4349/#4350/#4351) is not a QA candidate: CodeQL Quality bar (live snapshot):
No
|
…4591) * fix(security): CodeQL #2076-#2081 path-injection residuals (#4590) Document the default-branch CodeQL java/path-injection residuals #2077-#2081 (PSServerXmlObjectStore saveApplicationFile lines 730/731/741/742) and #2076 (ApplicationFileAdaptor deleteRecursively line 1026) in suppressions.md and extend the existing .github/codeql/codeql-config.yml query-filter reason text to cover them. Ladder steps 1-4 already on main (PR #4352 / #4571 / #4578): * requireFileUnderRxDir -> requireUnderBase(RxDir) (PSServerXmlObjectStore line 728) * resolveUnderAppRoot -> requireUnderBase(appDir, rel) (ApplicationFileAdaptor line 1006) * same-line // codeql[java/path-injection] annotations on every sink * path query-filter glob for both files * model pack ReturnValue barriers for both helpers (GHA does not load local packs but the documentation is required by contracts/C3) Sinks were intentionally NOT re-edited - per playbook row 184, re-editing already-annotated sinks re-fingerprints and reopens a new alert ID. Default-branch IDs dismissed as false positive (playbook step 5) after this PR. Tests (siblings on main, not re-edited): * PSServerXmlObjectStorePathInjectionTest .requireFileUnderRxDir_rejectsEscapeAndAcceptsChild * ApplicationFileAdaptorTest.deleteRecursively_removesTreeUnderTempDir (plus ObjectStore exists/rename/delete under thread RxDir from PR #4578) Partial #4590 Co-Authored-By: OpenCode <noreply@opencode.ai> * chore(review): erlang pre-merge review for #4591 Durable review record (per AGENTS.md "Erlang review" section). Recommends approve on the docs/config diff; no bug findings; no rule-file changes. Refs #4591 --------- Co-authored-by: OpenCode <noreply@opencode.ai>
Summary
Overnight same-file thrash: three owned CodeQL path-injection PRs all edit the model pack, Advanced config query-filters, and
suppressions.md. Absorbing them into one PR againstmainso those files are not rewritten three times.Thrash files
.github/codeql/codeql-config.yml.github/codeql/models/codeql-pack.yml.github/codeql/models/models/path-injection-guard.model.ymldocs/ai-generated/tasks/gh-codeql-alerts/suppressions.mdUnion kept every unique runtime fix, model barrier, query-filter, and suppression row:
PSConfigServiceconfig files under RxDir (getConfigFile/requireConfigFileUnderRxDir)IOTools.getFileContent(getFileContentUnderBase+ NUL/canonical)requireFileUnderRxDironPSServerXmlObjectStore)Supersedes
fix/codeql-alert-2039-path-injectionfix/codeql-alert-2045-path-injectionfix/codeql-alert-2046-path-injectionmodules_built
modules/utils,deployer,systembuild_evidence
JDK 21 (
JAVA_HOME=/usr/lib/jvm/java-21-openjdk). Standaloneclean installfrom each module dir (repo-rootmvnw). No-DskipTests.No new compiler/Surefire failures on the union tip. Javadoc
reference not foundnoise onsystemis pre-existing (install still succeeded).Product documentation
Operator
Grok: night-issue-prs (model grok-4.6)