18 people have been killed in an attack on the rebel-held Syrian city of Idlib.