The getSender function of SalesPolicy.sol calls the Solidity ecrecover function directly to verify the given signatures. However, the ecrecover EVM opcode allows malleable (non-unique) signatures and thus is susceptible to replay attacks.
SWC-117: Signature Malleability
Use the recover function from OpenZeppelin's ECDSA library for signature verification.