You can get the name of the syntax item under the cursor with:
:echo synIDattr(synID(line('.'), col('.'), 1), 'name')
In this case, it's apparently texBadMath
.
Looking at /usr/share/vim/vim80/syntax/tex.vim
I see there are three syn match
commands for this:
" Bad Math (mismatched): {{{1
if !exists("g:tex_no_math") && !s:tex_no_error
syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}"
syn match texBadMath "\\[\])]"
endif
The s:tex_no_error
is set from:
if exists("g:tex_no_error") && g:tex_no_error
let s:tex_no_error= 1
else
let s:tex_no_error= 0
endif
And is documented:
" 5. If you have the variable "g:tex_no_error" defined then none of the
" lexical error-checking will be done.
"
" ie. let g:tex_no_error=1
So adding this to your vimrc is the easiest option. This should result in:

A more difficult route is to fix this syntax file. The line that causes this error is the last one:
syn match texBadMath "\\[\])]"
The \
s make it a bit confusing, but a literal \
followed by a ]
or )
is considered an error.
I'm not really familiar with TeX, but this should be comprativly easy to fix. You could contact the author of the file, which is listed at the top.