Skip to content

fix: improve HTTP connector validation and data handling - #69

Merged
phantom-jacob merged 8 commits into
mainfrom
sodle/remediate-http-flashpoint
Jul 31, 2026
Merged

fix: improve HTTP connector validation and data handling#69
phantom-jacob merged 8 commits into
mainfrom
sodle/remediate-http-flashpoint

Conversation

@sodle-splunk

@sodle-splunk sodle-splunk commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • withhold asset credentials from caller-selected file-action hosts
  • reject loopback and unspecified IPv4/IPv6 destinations
  • stage downloads in generated temporary files
  • enable TLS certificate verification by default
  • omit sensitive response headers from action results
  • bound XML response parsing and reject document type declarations

Each functional fix is isolated in its own commit and release-note line.

Tracking

  • PAPP-38201
  • PSAAS-30426
  • PSAAS-30542
  • PSAAS-30585
  • PSAAS-31398
  • PSAAS-31960
  • PSAAS-31992
  • Parent epic: ESPM-5228

Validation

  • local pre-commit: passed
  • hosted pre-commit and compile: pending
  • BaseConnector app: no connector unit-test harness required

AI assistance

  • This pull request was created entirely with AI assistance.

Written by Codex.

Release impact

This PR contains a breaking configuration change and must ship as a major release. HTTP now verifies server certificates by default; existing assets must trust each target certificate chain or explicitly disable verification. The corresponding functional commit includes a parseable BREAKING CHANGE: trailer for semantic-release.

Merge strategy: merge commit only; do not squash

Release-impact note added by Codex.

@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

Merging this PR will release 4.0.0 with the following release notes:

4.0.0 (2026-07-30)

Connector release changes

  • Updated connector development tooling.
  • Prevented file actions from sending asset credentials to caller-selected hosts.
  • Blocked IPv4 and IPv6 loopback or unspecified addresses for asset and file-action URLs.
  • Stored downloaded content in a generated temporary file so encoded path separators cannot escape the vault staging directory.
  • Enabled TLS certificate verification by default for asset and action requests. Existing assets retain their saved setting and should be reviewed after upgrade.
  • Removed session- and credential-bearing headers from persisted HTTP action results.
  • Rejected XML document type declarations and XML responses larger than 5 MiB before parsing.

@sodle-splunk
sodle-splunk marked this pull request as ready for review July 18, 2026 08:58
Adopt dev-cicd-tools v2.2.4 and refresh generated connector metadata before applying connector fixes.

Written by Codex.
Skip Basic, OAuth, and token authentication entirely when get-file or put-file targets a host other than the configured asset endpoint.

Refs PSAAS-30426.

Written by Codex.
Resolve asset and file-action URLs through getaddrinfo and reject IPv4, IPv6, IPv4-mapped loopback, and unspecified addresses before sending requests.

Refs PSAAS-30542.

Written by Codex.
Decode the remote path before deriving its display basename and write response content to a securely generated file inside the vault staging directory.

Refs PSAAS-30585.

Written by Codex.
Add a secure asset-level TLS policy, make every action default to verification, and preserve explicit per-action overrides for administrators who require them.

Refs PSAAS-31398.

Written by Codex.

BREAKING CHANGE: HTTP now verifies server certificates by default; existing assets must trust each target certificate chain or explicitly disable verification.
Remove cookie, authorization, and proxy-authentication headers before persisting response metadata in action results.

Refs PSAAS-31960.

Written by Codex.
Stream XML responses into a 5 MiB bounded buffer and reject document type declarations before xmltodict can expand attribute-value entities.

Refs PSAAS-31992.

Written by Codex.
Keep one generated list operator per behavior fix so semantic-release renders clean changelog entries.

Written by Codex.
@sodle-splunk
sodle-splunk force-pushed the sodle/remediate-http-flashpoint branch from cc1c423 to caf20f9 Compare July 24, 2026 16:16
@sodle-splunk sodle-splunk changed the title fix: remediate HTTP connector vulnerabilities fix: improve HTTP connector validation and data handling Jul 24, 2026
@sodle-splunk
sodle-splunk force-pushed the sodle/remediate-http-flashpoint branch from caf20f9 to 6f7d749 Compare July 29, 2026 17:07
@sodle-splunk

Copy link
Copy Markdown
Contributor Author

Codex breaking-change review: this PR needs to be redone as a breaking/major release before merge.

Reason: it adds optional verify_server_cert with default: true. Under the updated connector release guidance, changing secure transport/config defaults in a way that can make existing assets fail where they previously succeeded is a breaking change. If the secure default is intentional, please preserve it but add major-release treatment: a parseable BREAKING CHANGE: trailer (or equivalent breaking Conventional Commit), release notes that call out the behavior change and migration impact, and any required PR description updates. If this should remain a non-major release, preserve the previous runtime default instead and document the opt-in secure setting.

Commented by Codex.

@phantom-jacob

Copy link
Copy Markdown
Contributor

Codex review request: commit 6f7d749b contains literal \n characters in its message body instead of real line breaks. Please amend/rebase the affected commit message so each paragraph is separated by actual newlines and the Codex attribution remains in its own paragraph. Preserve the distinct connector commits and force-push the corrected history; do not squash.

This matters because release tooling expects real multiline commit bodies, especially when parsing trailers.

Commented by Codex.

@sodle-splunk
sodle-splunk force-pushed the sodle/remediate-http-flashpoint branch from 6f7d749 to aaa7b90 Compare July 30, 2026 22:00

@phantom-jacob phantom-jacob left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved by Codex for Jacob after re-review.

@phantom-jacob
phantom-jacob merged commit 85d5d05 into main Jul 31, 2026
13 of 14 checks passed
@phantom-jacob
phantom-jacob deleted the sodle/remediate-http-flashpoint branch July 31, 2026 00:33
@splunk-soar-semantic-release

Copy link
Copy Markdown

🎉 This PR is included in version 4.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants