The MembershipFactory contract inherits from NativeMetaTransaction, which provides an overridden _msgSender() function to correctly handle meta-transactions. However, in the current implementation, there are instances where msg.sender is used directly instead of _msgSender(). This can lead to inconsistencies in identifying the actual sender, especially when interacting through meta-transactions or proxy contracts.
Recommendation
Replace msg.sender with _msgSender(): Update all instances where msg.sender is used to _msgSender() to ensure that the sender is correctly identified in all contexts.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.