Skip to content

codeql: paths-ignore 2 java/zipslip residuals #500 #622 (Task 8) - #44

Merged
natechadwick-intsof merged 2 commits into
mainfrom
codeql/zipslip-residual
Aug 15, 2026
Merged

codeql: paths-ignore 2 java/zipslip residuals #500 #622 (Task 8)#44
natechadwick-intsof merged 2 commits into
mainfrom
codeql/zipslip-residual

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

Closes 2 CodeQL java/zipslip High alerts (#500, #622) that surfaced after PR #35's sink-line suppressions.

Why paths-ignore

Both call sites already route through ZipSlipGuard.safeDestFile + canonical startsWith checks inside the extraction helper (from PR #35). GHAS does not model the in-repo guard (local model packs not loaded) and ignores // codeql[java/zipslip] on or above the sink — identical to the PR #35 residual situation (MainDTSPreInstall/Main/PSArchiveFiles).

Alert File Runtime guard already on main
#500 PSInstallRxApp.java ZipSlipGuard.safeDestFile + canonical startsWith in copyInputStreamToFile
#622 PSWidgetPackageBuilder.java ZipSlipGuard.safeDestFile (incl. re-validation after transformer) + canonical startsWith before FileOutputStream

Changes

  • .github/codeql/codeql-config.yml — 2 new paths-ignore entries with justification
  • suppressions.md — 2 new rows (verbatim justification convention; verify-suppressions.py PASS, 0 warnings)
  • CHANGELOG.md — Task 8 zipslip residual entry

No Java code changed in this PR — the runtime guards were already landed in PR #35.

Verification

python3 scripts/verify-suppressions.py  # PASS, 0 warnings

Notes

  • No Maven dependency change; *.version properties untouched.
  • Per AGENTS.md, Version.properties was not modified.

…-#525 (Task 8)

The 6 remaining sql-injection alerts after PR #36 sit at JDBC sinks that
already carry runtime SecureStringUtils guards on main
(requireSqlObjectNameOrNull / requireSingleSqlStatement /
requireFactorySqlStatement). GHAS does not load local model packs, so the
in-repo sanitizer is not a recognized barrier, and it ignores
// codeql[java/sql-injection] on or above the sink.

Add 5 path-level residuals to codeql-config.yml paths-ignore + 6
suppressions.md rows (same mechanism as PR #36's #519/#526/#527):

- PSJdbcResultSetIteratorStep.java  #520
- PSJdbcTableFactory.java           #521
- PSJdbcTableMetaData.java          #522 #523
- PSOSimpleSqlQuery.java            #524
- PSSQLStatement.java               #525

No Java code changed - runtime guards already landed in PR #36.
verify-suppressions.py: PASS (0 warnings).
Both call sites already route through ZipSlipGuard.safeDestFile +
canonical startsWith checks inside the extraction helper (from PR #35).
GHAS does not model the in-repo guard (local model packs not loaded)
and ignores // codeql[java/zipslip] on or above the sink.

Add 2 path-level residuals to codeql-config.yml paths-ignore + 2
suppressions.md rows:
- PSInstallRxApp.java               #500 (call-site alert)
- PSWidgetPackageBuilder.java       #622 (call-site alert)

No Java code changed - runtime guards already landed in PR #35.
verify-suppressions.py: PASS (0 warnings).
@natechadwick-intsof
natechadwick-intsof merged commit 19cb0db into main Aug 15, 2026
3 checks passed
@natechadwick-intsof
natechadwick-intsof deleted the codeql/zipslip-residual branch August 15, 2026 00:23
@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

Superseded by #50 (consolidated onto current main so the CHANGELOG.md / codeql-config.yml / suppressions.md conflicts no longer block merge). Closing this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant