More thoughts...could be dirty front element. A greasy fingerprint might cause something like this.

Basically, the light is being scattered by something in the optical path, and that's the area that needs to be checked. If nothing can be seen when examining the lens under bright light, then I would suggest sending it in to Canon.