Certain characters have special handling in VTT files, like { or [. They're interpreted as markers in cues. If the open and close brackets are in different cues, this creates a loop that can't complete.
I'm thinking that if these characters are found and the cue doesn't contain a the paired character, they should be ignored.