Skip to content

fix(download): use HTTPS for gpt4all.io metadata and model fallback (#3682) - #3688

Open
Anai-Guo wants to merge 1 commit into
nomic-ai:mainfrom
Anai-Guo:fix-download-https
Open

fix(download): use HTTPS for gpt4all.io metadata and model fallback (#3682)#3688
Anai-Guo wants to merge 1 commit into
nomic-ai:mainfrom
Anai-Guo:fix-download-https

Conversation

@Anai-Guo

@Anai-Guo Anai-Guo commented Jul 7, 2026

Copy link
Copy Markdown

Summary

Fixes #3682. gpt4all-chat/src/download.cpp fetched three resources over plaintext http://gpt4all.io:

  • L161 — release.json (release metadata)
  • L173 — latestnews.md
  • L214 — model-download fallback (/models/gguf/<file>)

Model integrity is checked against a hash, but that expected hash is itself pulled from release.json over the same plaintext channel. A MITM on the path can therefore substitute both the hash and the model file, and verification still passes — a supply-chain risk.

Change

Switch the three URLs from http:// to https://. Nothing else is touched.

Why this is safe

  • https://gpt4all.io/meta/release.json and .../latestnews.md already serve the same content over TLS (verified: 301 → 200, identical payload), so there is no behavior change for legitimate clients.
  • Qt's QNetworkAccessManager performs TLS certificate verification by default, so moving the initial hop to HTTPS closes the MITM window without any extra configuration.

🤖 Generated with Claude Code

@Anai-Guo
Anai-Guo force-pushed the fix-download-https branch from 4abdff3 to 6ee25f3 Compare July 7, 2026 22:08
…omic-ai#3682)

release.json, latestnews.md, and the model-download fallback were fetched
over plaintext http://gpt4all.io. Because the expected model hash comes from
release.json over the same channel, a MITM could substitute both the hash and
the model file and still pass verification.

Switch the three URLs to https://. The endpoints already serve the same
content over TLS (301 -> 200), so there is no behavior change for legitimate
clients; Qt QNetworkAccessManager verifies certificates by default.

Signed-off-by: Anai-Guo <antai12232931@anaiguo.com>
@Anai-Guo
Anai-Guo force-pushed the fix-download-https branch from 6ee25f3 to 991d555 Compare July 7, 2026 22:17
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] Model Metadata and Download Fallback via Plaintext HTTP — MITM Supply Chain Risk

1 participant