That's what's wrong with the law. The authorities should make the carrier who sold the ticket liable. The passenger has a contract with Lufthansa, make them pay and let them go after whoever caused the problem. If I could you a real world example: if I buy a product or a service and there is a problem that was caused by a subcontractor the merchant is just as liable as the subcontractor, regardless of any contract I agree to.