Skip to content

Block insecure HTTP URLs in FileUtil by default#1247

Draft
Copilot wants to merge 1 commit into
masterfrom
copilot/update-fix-for-bug-in-closing-process
Draft

Block insecure HTTP URLs in FileUtil by default#1247
Copilot wants to merge 1 commit into
masterfrom
copilot/update-fix-for-bug-in-closing-process

Conversation

Copilot AI commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

FileUtil.open() would silently fetch resources (including DataDictionaries) over plain HTTP, exposing the load path to MITM substitution attacks. Since DataDictionary is the primary consumer, a compromised dictionary could bypass all message validation.

Changes

  • FileUtil: Before opening any http:// URL, checks system property quickfixj.fileutil.allowHttpUrls. If not true (default), logs a WARN and returns null — the caller will fail with a descriptive "could not find" error. If true, loads but still warns.
    • https://, file:, jar:, and classpath locations are unaffected.
  • FileUtilTest: Updated testURLLocation to assert HTTP is blocked by default; added testHTTPUrlAllowedViaSystemProperty for the opt-in path.

Opt-in override

For deployments on trusted private networks that genuinely need plain HTTP:

-Dquickfixj.fileutil.allowHttpUrls=true

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.

Security implications of remote DataDictionary download

2 participants