On Fri, 13 Sep 2019, Norman Wilson wrote:
UDP (and TCP) checksums are nearly useless against the
corruption Larry described. Since they are a simple addition with carry
wraparound, you can insert or remove any number of word-aligned pairs of
zero octets without the checksum changing.
I was thinking of an intermediate router (probably one that you never knew
about) corrupting the checksum-less UDP packet, recalculating the Ethernet
checksum, and your kernel happily accepting it; you now have an
application that fails for some unknown reason.
Never seen it in practice, but I've heard of it happening.