How would such an attack work? Presumably, there would have to be a first consensus that agreed on one transaction and then a later consensus that agrees on the other transaction. Otherwise, nobody would rely on the first transaction having been accepted and there would be no attack.
But what do they do about that first consensus? If they participate in it, they've now validated both transactions. Everyone would have absolute proof they were liars, so nobody would care that they validated the second one.
If they don't participate in it, then everyone would have absolute proof that they validated a transaction that conflicted with a transaction that was previously accepted. Again, everyone would have absolute proof they were liars.
Maybe you're thinking they might try to go back and claim that the first consensus actually went down a different way than it actually went down, presenting a conflicting view of the past. The problem is, information about the past is not established by looking at what consensus we had in the past. Information about the past is established by looking at the present consensus and walking hash chains to see what happened in the past. Lying about the past won't help you change the consensus about where everyone is now.
Essentially, consensus is only used to establish an ordering of transactions via a series of checkpoints. There's no way to say "move that transaction back so that it occurred in the past". Once validated, the past is immutable.
What you could do with an attack like this is prevent the network from reaching consensus. However, you'd have to do it by behaving clearly irrationally, announcing positions that don't make progress towards a consensus. As soon as people discovered you doing this, they'd stop letting you participate in the consensus process and you'd have to build trust all over again.