Security: per-remote-endpoint pre-auth API-key miss budget (widen IOpcUaUserAuthenticator seam) #751
Reference in New Issue
Block a user
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?
Lane C (#733, commit
e04156d8) added a pre-auth guard against API-key-id DoS: theKnownIdSetplus aMissBurst/MissRefillPerSecondtoken bucket. The budget is process-wide, not per remote endpoint, because the SDK impersonation callback behind theIOpcUaUserAuthenticatorseam does not carry the client's address. One noisy client can therefore drain the miss budget for everyone while the id set is unavailable.Work: widen the seam in the OpcUaServer project so it carries the remote endpoint, then account misses per endpoint. Keep the process-wide bucket as a backstop. docs/security.md calls this "a Wave 3 follow-up", but no Wave 3 lane owns it and no issue exists.
Source: docs/security.md:265-267 (section on the API-key store bounds). Related: #733, review 03 (pre-auth DoS finding).