WebGL textures suffer from the same problem as shaders can be used to extract data. WebGL is hence using CORS as well. Do you say the performance penalty in WebGL is non-existing contrary to canvas?
you don't call getImageData to extract a texture data. You load the image, make a texture of it, and then apply all postprocessing effects with a WebGL shader.