SEC2-077: Plain http is allowed to every *.local host, not only to this machine, and the settings hint says otherwise #34
Labels
No labels
bug
documentation
enhancement
performance
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo-chromium#34
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found on 2026-10-16 in a read-only security review of
postulo-chromiumatb6c1009, checked by a second, independent pass.Severity: Informational · Category: Configuration · Reference: CWE-319 (Cleartext Transmission of Sensitive Information); OWASP A02:2021 (Cryptographic Failures)
Location:
src/lib/api.js:39-42src/options.html:14(instanceHint: "https, unless it runs on this machine")test/api.test.mjs:28-30Issue
The exemption from https covers any mDNS name (
pi.local, a Postulo on another machine of thehome network), and the test at
test/api.test.mjs:29shows this is intended. The hint beside thefield and
PRIVACY.mddescribe the exemption as "this machine". With anhttp://…localinstancethe bearer token, the captured pages and the pictures of them cross the local network in clear,
and anyone on that path can also answer as the instance, including the addresses the extension
later opens in its review window.
Impact
A person who reads the hint believes the token never leaves their machine unencrypted when it
crosses their LAN. No remote exposure; a deliberate trade-off that the wording does not state.
Fix
Either narrow the exemption to loopback (
localhost,127.0.0.1,[::1]) and let a.localinstance be reached over https like any other, or keep it and say it: change
instanceHintto"https, unless it runs on this machine or on your own network (
.local)", and add the sentence toPRIVACY.mdunder "What it sends, and where".Done when the hint, the privacy policy and
test/api.test.mjs:29agree.