Bitcoin Core 0.12.0 through 0.21.1 does not properly implement the replacement policy specified in BIP125 which makes it easier for attackers to trigger a loss of funds or a denial of service attack against downstream projects such as Lightning network nodes. An unconfirmed child transaction with nSequence = 0xff_ff_ff_ff spending an unconfirmed parent with nSequence <= 0xff_ff_ff_fd should be replaceable because there is inherited signaling by the child transaction. However the actual PreChecks implementation does not enforce this. Instead mempool rejects the replacement attempt of the unconfirmed child transaction.