iri accepts and broadcasts single transactions, not whole bundles. Therefore when iri receives the first transaction of a bundle, it not necessarily can see already that this transaction is part of a broken bundle (as probably some more transactions are still missing at that point). So it will accept it in the hope that the rest of the bundle will arrive later.
At some point iri will know that the bundle is invalid (and ignore it for all further actions like tip selection), but it is already in the db and therefore shown by tangle explorers and wallets.