Open null77 opened 3 years ago
More specifically I suggest we add errors to the draw commands that reject draws when the current program's last link call was unsuccessful.
Associated Chromium and ANGLE bugs for this issue are:
https://bugs.chromium.org/p/angleproject/issues/detail?id=6358 https://bugs.chromium.org/p/chromium/issues/detail?id=1241123
(restricted view, please ask me if you need access)
Let's discuss this during the next WebGL working group conference call. Agenda item has been added.
Note that this changes the behavior of conformance/programs/program-test.html
in both the WebGL 1.0 and 2.0 conformance suites.
This would be a breaking change. Hopefully very little content relies on it, but it's possible to implement, even on an untrusted driver.
If any apps use it on Windows right now, they can crash in an unsafe way.
The GLES spec says:
ANGLE has ran into security problems with unsuccessful links, where our state objects become partially rewritten and use outdated link information. We should fireproof ANGLE, but seeing as there's a risk we could leave multiple hard-to-discover and potentially dangerous security holes I suggest we alter this wording to make WebGL reset the current installed executable when a program that is in-use is re-linked unsuccessfully.