TCP header does have a checksum that is supposed to check both the header and the payload.
So either the bit corruption is such that is not detected by the checksum
Or ATT is doing something nefarious and touches layer 4 and corrupts the data while doing so