This isn't the only source of malleability. The abandoned
BIP62 lists ways in which a Bitcoin transaction is malleable:
- Non-DER encoded ECDSA signatures
- Non-push operations in scriptSig
- Push operations in scriptSig of non-standard size type
- Zero-padded number pushes
- Inherent ECDSA signature malleability
- Superfluous scriptSig operations
- Inputs ignored by scripts
- Sighash flags based masking
Of course. I have already said it was an "umbrella term" to which amacilin picked one and I specifically gave him a solution to that. I also mentioned hashing the final stack which would fix:
- Superfluous scriptSig operations
- Inputs ignored by scripts
- Sighash flags based masking
- Non-push operations in scriptSig
The DER encoding is a consensus issue since OpenSSL accepts BER and DER (DER being a subset of BER). Pre-checking before passing to OpenSSL is trivial.
The point is that malleability is an edge case symptom that can be solved without adding a lot more complexity. There is a lot more to this SegWit proposal than we are being told.