geary / AnyTone-D868UV

Unofficial issue tracker for AnyTone AT-D868UV and AT-D878UV radios and firmware
57 stars 1 forks source link

CPS Software allows entry of invalid data resulting in invalid analog APRS packets #90

Open wb2osz opened 2 years ago

wb2osz commented 2 years ago

The following was heard over the air:

<0x82><0xa0><0x88><0xa4>b`<0xe0><0x9a>`<0x92><0xae><0x8a>@n<0xae><0x92><0x88><0x8a>[b@b<0xae><0xae>@@@A<0x03><0xf0>!5216.35N/00011.98E[320/000/A=000000ANYTONE](mailto:b@b%3c0xae%3e%3c0xae%3e@@@A%3c0x03%3e%3c0xf0%3e!5216.35N/00011.98E%5b320/000/A=000000ANYTONE) 878UV M0IWE Non-printable characters are represented by hexadecimal values. When this is manually decoded, we get: Destination = APDR!0 APDRxx is reserved for APRSDroid. Notice that the 5th character is an exclamation point. ("!") Source = M0IWE-7 Same as in the comment so that looks good. Digipeater1 = WIDE!-1 Digipeater2 = WW Look carefully. It's not the typical WIDE1-1. Once again we find that the 5th character is an exclamation point. ("!") This is not valid for AX.25 addresses. How did this happen? It was speculated that the "!" characters could be the result of holding shift while typing upper case letters and neglecting to release shift before pressing 1. On US & UK keyboards, ! is shift 1. The user reports that the digipeater path was set to: WIDE1-1WW (with "1", without ","): That would not explain where the "!" characters came from. **CPS needs to validate all user input to prevent transmitting invalid data.** More of the conversation can be found here: https://groups.io/g/direwolf/topic/84809381#6190