ADCH++ had a security bug that allowed UCMD extension to be relayed.
uhub did not have this security bug since the hub did not advertise support for the UCMD extension, but the message was still correctly relayed as specified in the protocol specification. However, this commit adds support for the UCMD extension, but only to the extent that uhub will advertise it and uhub will also drop any such CMD message generated by a client and will (currently) never issues a CMD message by itself.
This commit is contained in:
@@ -129,6 +129,14 @@ int hub_handle_message(struct hub_info* hub, struct hub_user* u, const char* lin
|
||||
CHECK_FLOOD(connect, 1);
|
||||
ROUTE_MSG;
|
||||
|
||||
case ADC_CMD_BCMD:
|
||||
case ADC_CMD_DCMD:
|
||||
case ADC_CMD_ECMD:
|
||||
case ADC_CMD_FCMD:
|
||||
case ADC_CMD_HCMD:
|
||||
CHECK_FLOOD(extras, 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
CHECK_FLOOD(extras, 1);
|
||||
ROUTE_MSG;
|
||||
|
||||
Reference in New Issue
Block a user