IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: OpenSSH sabotages protocol extension
On Thu, 5 Nov 2015, denis bider wrote:
> Well, I'm slightly pissed.
>
> Why does OpenSSL do stupid shit like this?
[snip]
> Note the genius inclusion of packet_check_eom() after decoding
> SERVICE_ACCEPT. Guess what this line does?
>
> #define ssh_packet_check_eom(ssh) \
...
> logit("Packet integrity error (%d bytes remaining) at %s:%d", \
> _len ,__FILE__, __LINE__); \
> ssh_packet_disconnect(ssh, \
> "Packet integrity error."); \
...
> Yes. It disconnects if there's any extra data after the recognized field in
> SERVICE_ACCEPT.
>
> What possible purpose does this serve?
It verifies that the message is conformant to RFC4253 section 10 (which
specifies only a single string in a SSH_MSG_SERVICE_REQUEST) and not
gibberish.
> What possible purpose at all, other than to sabotage future extension?
... because an implementation of a security protocol that runs with
high privilege should strongly validate well-formedness.
> Thanks to this, we cannot add a field to SERVICE_ACCEPT so that the server
> could advertise what signature algorithms it accepts for user
> authentication.
No, you can't add one because RFC4253 specified it differently and you
don't get to retcon protocols by hoping that implementations don't
validate their input.
-d
Home |
Main Index |
Thread Index |
Old Index