Skip to content
This repository has been archived by the owner on Jan 13, 2022. It is now read-only.

Fix vulnerability related to ACK/NAK handling (CVSS score: 7.2) #128

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Luke1410
Copy link

@Luke1410 Luke1410 commented Jun 2, 2018

This is a backport of a security relevant fix for RakNet (fixes second part of issue #102) which was brought to our attention by a user - see SLikeSoft#32 for details. The issue has already been fixed in SLikeNet 0.1.2 (see https://www.slikenet.com/).
We provide this backport for people who prefer to stick with the RakNet project and also in order to easier share this fix with other RakNet forks.

CVSS Base score: 7.5
CVSS Temporal score: 7.2
CVSS Overall score: 7.2
CVSS v3 vector: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C

This fix works in combination with pull request #127. Therefore, both pull requests must be applied to completely resolve the issue.

The security implications are critical in our opinion. Every RakNet instance is susceptive to the attack. No authentication is required. If the attack is successful, the instance will become unresponsive for as long as the attack goes on (and quite a while afterwards - DoS attack). If the attack stops, the server will become responsible again eventually.
If an upgrade of the server side is not reasonable to resolve the vulnerability, we offer alternative approaches to mitigate attacks relying on this issue. Please contact us at security@slikesoft.com.

…whole range into account

- added new RangeList::IsWithinRange() method
- several changes to RangeList::Deserialize() to prevent invalid RangeLists being constructed from a bitstream (incl. preventing overlapping and duplicated ranges)
- early out when processing ACK/NAK ranges, if end of datagram history reached
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant