Invalid ADC commands sent via UDP will crash the app
Bug #1722364 reported by
maksis
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
AirDC++ |
Fix Released
|
Undecided
|
Unassigned | ||
ApexDC++ |
New
|
Undecided
|
Unassigned | ||
DC++ |
Fix Released
|
Undecided
|
Unassigned | ||
FlylinkDC++ |
New
|
Undecided
|
Unassigned | ||
LinuxDC++ |
New
|
Undecided
|
Unassigned | ||
StrongDC++ |
New
|
Undecided
|
Unassigned |
Bug Description
The AdcCommand parsing function will throw ParseException on invalid commands: https:/
However, SearchManager (UDPServer in AirDC++) won't catch those exceptions at all: https:/
As a result, you should be able to crash the app by sending the following raw text to the UDP port:
ARES T\n
(I used https:/
information type: | Private Security → Public |
To post a comment you must log in.
AirDC++ now uses the regular dispatch function for parsing ADC UDP commands that should fix the issue: https:/ /github. com/airdcpp/ airgit/ blob/6a40613788 e7ed8a7478f4f17 89bbd142a98d231 /airdcpp/ airdcpp/ UDPServer. cpp#L130- L175