mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 01:05:48 +01:00 
			
		
		
		
	Throw exception instead of assert on nested reliable packets
Fixes a denial of service vulnerability, issue #784
This commit is contained in:
		@@ -1436,7 +1436,8 @@ SharedBuffer<u8> Connection::processPacket(Channel *channel,
 | 
			
		||||
	else if(type == TYPE_RELIABLE)
 | 
			
		||||
	{
 | 
			
		||||
		// Recursive reliable packets not allowed
 | 
			
		||||
		assert(reliable == false);
 | 
			
		||||
		if(reliable)
 | 
			
		||||
			throw InvalidIncomingDataException("Found nested reliable packets");
 | 
			
		||||
 | 
			
		||||
		if(packetdata.getSize() < RELIABLE_HEADER_SIZE)
 | 
			
		||||
			throw InvalidIncomingDataException
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user