| Summary: | possible bypass of fido 2 devices and ssh-askpass | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Manfred Kaiser (bmlv.gv.at) <manfred.kaiser> |
| Component: | ssh | Assignee: | Assigned to nobody <unassigned-bugs> |
| Status: | CLOSED FIXED | ||
| Severity: | major | CC: | djm |
| Priority: | P5 | ||
| Version: | 8.8p1 | ||
| Hardware: | All | ||
| OS: | All | ||
| URL: | https://docs.ssh-mitm.at/trivialauth.html | ||
|
Description
Manfred Kaiser (bmlv.gv.at)
2021-05-31 21:07:47 AEST
First, the root cause is forwarding an agent to an attacker-controlled destination - the user is effectively delegating use of their keys to that attacker.
Second this is not an authentication bypass, since nothing is being bypassed. The user is becoming confused as to the context of a FIDO touch request. That makes this more like phishing than anything else.
This attack may be mitigated by setting LogLevel=verbose so ssh(1) will print a message at the conclusion of authentication:
> [djm@origin ~]$ ssh -oLogLevel=verbose host
> Authenticated to host.example.com ([10.0.0.1]:22).
> $
Fundamentally, forwarding an agent is a risky operation and should be avoided where possible. This is why we implemented ProxyJump :)
OpenSSH 8.9 added "agent restrictions", which should prevent such attacks. Thanks for implementing the new feature :-D I think this issue ticket can be closed. * Information about "agent restriction": https://www.openssh.com/agent-restrict.html * Full disclosure: https://docs.ssh-mitm.at/trivialauth.html Note: I will update the full disclosure to reflect the new feature of OpenSSH 8.9. CVE-2021-36368 was reserved for this vulnerability. closing bug resolved during openssh-9.0 release cycle |