docs: the sign-in dial is Paul's call, not mine to fix here
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SiWVaR69Vb2Lzc9wgfit1v
1 file changed,
+23
−1
QUESTIONS-FOR-PAUL.md+23 −1
diff --git a/QUESTIONS-FOR-PAUL.md b/QUESTIONS-FOR-PAUL.md| index a374fd5..d6f569a 100644 |
| --- a/QUESTIONS-FOR-PAUL.md |
| +++ b/QUESTIONS-FOR-PAUL.md |
| @@ -111,7 +111,29 @@ second is the one that matters beyond memoria: |
| would fix it, but it is a shared binary other sessions are using, so I |
| left it alone. |
| -## 5. Not a question, but you should know |
| +## 5. An anonymous visitor can make the instance dial any domain |
| + |
| +Found by the code review, and it is a real hole rather than a wording |
| +problem. rastrillo's sign-in classifier fetches |
| +`https://<the address's domain>/.well-known/keymail` on `POST /auth/begin` |
| +— and rastrillo runs that **before** the admission gate, so it happens for |
| +addresses that are not on the owners list. Type |
| +`anything@attacker.example` into the sign-in form and the instance makes |
| +an outbound request to `attacker.example`. |
| + |
| +What it gives an attacker: confirmation the instance exists and is |
| +reachable, its egress IP, and a timing channel. Not content. But it also |
| +made the footer's "nothing leaves this instance" false, which is why that |
| +copy changed. |
| + |
| +**I did not fix it**, because the fetch is inside `rastrillo/auth` and |
| +`keymaildev/signin`, not in memoria — fixing it here would mean |
| +re-implementing the classifier or gating `/auth/begin` on the owners list |
| +before rastrillo sees it. The second is small and I can do it, but it |
| +changes sign-in behaviour for guests, which slice 1 will want. Say which |
| +you'd prefer, or whether it belongs upstream in rastrillo. |
| + |
| +## 6. Not a question, but you should know |
| `gpt-5.6-sol` via Codex **reported its own model id as `gpt-5`** when |
| asked. Codex's own banner says `gpt-5.6-sol`. I recorded the discrepancy |