Re: [csswg-drafts] [css-color-4] Security: handling of color-profiles (#5552)

Adding on to (or in one case contradicting) what Tab said:

> Are the .icc files listed in the color-profile meant to be retrieved and parsed in real time?

> If so there is a potential risk that these requests could be used to track a user or deliver a malicious payload.
Malicious payload is unlikely, the contents of an ICC profile are declarative and contain measured color information. There are no scripts in color profiles and no script execution mechanism.
They are defined by the International Color Consortium (ICC)

> Are .icc files something that browsers already parse or is this a file-format that is new to them? 
Tab was incorrect here.
Browsers already parse them, embedded in images such as JPEG or (ore rarely) PNG.
Having the ICC files standalone and linked to the content was first introduced by SVG in 1998 and was implemented by browser plugins such as Adobe and Corel.
It is new to CSS (It was previously in CSS Color 3 but was dropped because there was only one implementation, in IE for Mac.
But browsers have been handling ICC profiles in raster images for over a decade.

> Can these files contain any "scripts" or "code"?
No, see above.

> What are the ways an implementation can mitigate any risks associated with handling this new file type?
Security bugs get reported to the ICC, which discloses them after fixes have been tested and deployed. See
W3C is an ICC Member; I'm the W3C representative to the ICC, so I do now hear about these.

>    Can a script determine if the profile was used or if a fallback was used?
Possibly but unlikely. For example a profile could be used to swap the red and green channels, which would give a different visual result. However, browsers already have pretty good defenses to stop a script reading colors back off the screen.

GitHub Notification of comment by svgeesus
Please view or discuss this issue at using your GitHub account

Sent via github-notify-ml as configured in

Received on Tuesday, 29 September 2020 12:26:08 UTC