Ahead of the 19 October interim: -03 does not cover a resource server or MCP gateway that treats a rejection of its own credential by its introspection endpoint or policy decision point as an outage, or that loses a refusal on a cache hit. RFC 7662 Section 2.3 has the AS answer 401 and says nothing about the protected request; Section 4 permits caching, with staleness as the risk. The nearest -03 text is "fail safe" in Section 4.2.6. This is the resource-server side of Laxmikant Sharma's 25 September thread on how a client handles a 401.
Both shipped in Norviq, an open-source MCP enforcement point I maintain that asks a policy decision point. Before 0.2.2, three consecutive 401s opened a circuit breaker whose fallback was allow, so later calls were mostly allowed until the credential was replaced. Before 0.2.3, the cache-hit path skipped the gateway's own refusal, so trust scoring recorded refused calls as allowed (the verdict served was correct). Norviq still allows by default when its decision point is unreachable, and one refusal still lands there: a TLS-layer rejection of the gateway's client certificate arrives as a connection error, not a 401, so it takes the allow fallback (norviq/sidecar/remote_evaluator.py:205, :228-229 on main a419aef; read, not run). The point is that a refusal is not an outage, at either layer. https://github.com/norviq-dev/norviq/releases/tag/v0.2.2 <https://www.google.com/url?q=https://github.com/norviq-dev/norviq/releases/tag/v0.2.2&source=gmail&ust=1790863043502000&sa=E> https://github.com/norviq-dev/norviq/releases/tag/v0.2.3 <https://www.google.com/url?q=https://github.com/norviq-dev/norviq/releases/tag/v0.2.3&source=gmail&ust=1790863043502000&sa=E> Proposed text, Section 7, new bullet: * *Rejected Credentials Are Not Outages:* When an introspection endpoint [RFC7662] or policy decision point rejects the resource server's own credential, RFC 7662 Section 2.3 does not say what happens to the protected request, and a resource server that treats the rejection as an outage may admit it through its outage fallback. A rejected credential must never admit the request, whatever the outage posture. A decision served from an introspection or decision cache (RFC 7662, Section 4) must pass the same per-request checks as a fresh one, so a refusal reaches the response and any audit or risk state derived from it. The RFC and draft points are read, not run; the regression test for each fix passes on Norviq main (a419aef) and fails with the fix reverted. Happy to open this on the authors' tracker, or fold it into Section 6. Thanks, Santosh Kumar Puppala
_______________________________________________ OAuth mailing list -- [email protected] To unsubscribe send an email to [email protected]
