The example in the OP seems to show that elements of the original image remain in place across the whole image, but the colors are changed in various blocks of the image. Is all of the corruption of this nature?
If so, then this was not some component or process that might randomly corrupt bits (e.g. memory cards, hard drives, motherboards, cables, etc.). Instead, this was some component that was aware of the format of the image files, such as the camera, image processing software, etc. I don't know the CR2 file format, but it is also logically possible that simple file truncation might cause this effect for some file formats. In this case, it would be some component or process that was able to preserve the integrity of the file system, but change the file lengths, such software that moves files between locations, etc.
If some of the corruption is of another kind, then some more examples might be useful in narrowing things down.