user42846: I understand that after segwit the transaction ID can't be malleated, 
but can't the witness part be malleated, just like the scriptSig can in a non-segwit transaction?

user24925: Yes, the witness can be mutated before it is in a block. Once in a block it’s committed to with a hash. This is not impactful, any modification that doesn’t change the validity doesn’t matter for the creator or receiver of the transaction. 

user208: 
but can't the witness part be malleated, just like the scriptSig can in a non-segwit transaction?

Yes, absolutely.
But the witness does not contribute to the transaction id (txid), which is what subsequent transactions refer to. Because of this, malleating a witness in a given transaction does not invalidate follow-up transactions using this transaction as an input. This is important for any application where multiple parties rely on an unconfirmed transaction to keep a stable txid.

42846: <p>I understand that after segwit the transaction ID can't be malleated, 
but can't the witness part be malleated, just like the scriptSig can in a non-segwit transaction?</p>
 24925: <p>Yes, the witness can be mutated before it is in a block. Once in a block it’s committed to with a hash. This is not impactful, any modification that doesn’t change the validity doesn’t matter for the creator or receiver of the transaction. </p>
 208: <blockquote>
  <p>but can't the witness part be malleated, just like the scriptSig can in a non-segwit transaction?</p>
</blockquote>

<p>Yes, absolutely.</p>

<p>But the witness does not contribute to the transaction id (txid), which is what subsequent transactions refer to. Because of this, malleating a witness in a given transaction does not invalidate follow-up transactions using this transaction as an input. This is important for any application where multiple parties rely on an unconfirmed transaction to keep a stable txid.</p>
