tomaswolf commented on issue #493:
URL: https://github.com/apache/mina-sshd/issues/493#issuecomment-2116149268

   OK, thank you. Essentially: arcfour256 works only with the `hmac-*-etm` MACs.
   
   This is a bug; it's caused by wrong block sizes being set. Yes, arcfour128 
and arcfour256 are stream ciphers, but a block size must be set anyway because 
SSH RFC 4253 insists that
   > Note that the length of the concatenation of 'packet_length', 
'padding_length', 'payload', and 'random padding' MUST be a multiple of the 
cipher block size or 8, whichever is larger.  This constraint MUST be enforced, 
even when using stream ciphers.
   [RFC 4253, section 6](https://datatracker.ietf.org/doc/html/rfc4253#page-7)
   
   So for arcfour128 and arcfour256, the "blocksize" must be 8.
   
   Unfortunately, this is wrong at 
https://github.com/apache/mina-sshd/blob/71b842f759f9879d7638bed175e5be006d9c0f46/sshd-common/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java#L118
 and at 
https://github.com/apache/mina-sshd/blob/71b842f759f9879d7638bed175e5be006d9c0f46/sshd-common/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java#L129
   
   The last parameter must not be 16 or 32 but 8. arcfour128 works by chance, 
arcfour256 will fail for small packets.
   
   I'll push a fix soon.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to