RE: Samba server problem with validate negotiate info fsctl?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-cifs-owner@xxxxxxxxxxxxxxx [mailto:linux-cifs-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Steve French
> Sent: Monday, November 18, 2013 6:55 PM
> To: samba-technical; linux-cifs@xxxxxxxxxxxxxxx
> Subject: Samba server problem with validate negotiate info fsctl?
> 
> With the kernel patch I recently submitted to list for review,  tried the
> validate negotiate info fsctl (unsigned) on an smb3.0 mount against Windows
> 8.1 server and it failed, dropping the connection immediately.  I repeated it
> with "sign" mount option and it worked fine.
> 
> Trying the validate negotiate info fsctl against Samba though it worked fine
> with signing disabled implying that the server is not checking to make sure
> that that request is signed (the validate negotiate info fsctl is always
> supposed to be signed right?)

Indeed yes - and signing the validate negotiate is important to ensure it's not tampered with by a MITM attacker. The MS-SMB2 document makes the client requirement in section 3.2.5.5 (emphasis added):

"If MaxDialect is "3.000" or "3.002", and RequireSecureNegotiate is TRUE, the client MUST validate the SMB2 NEGOTIATE messages originally sent on this connection by sending a *signed* VALIDATE_NEGOTIATE_INFO request as specified in section 2.2.31.4. "

Note that "MaxDialect" is the highest dialect the client is capable of, not necessarily the dialect negotiated on the connection. This too is important, to detect a negotiation downgrade by a MITM. Since the server will sign its response, even a failure can be used to complete the validation.
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux