Submitted by cccz
In the NFTXSimpleFeeDistributor.sol contract, the distribute function calls the _sendForReceiver function to distribute the fee
In the _sendForReceiver function, when the _receiver is a contract, the receivers receiveRewards function will be called. If the receiver is malicious, it can execute revert() in the receiveRewards function, resulting in DOS.
https://github.com/code-423n4/2021-12-nftx/blob/main/nftx-protocol-v2/contracts/solidity/NFTXSimpleFeeDistributor.sol#L157-L166
The contract can store the fee sent to the receiver in a state variable, and then the receiver can take it out by calling a function.
0xKiwi (NFTX) confirmed, but disagreed with high severity and commented:
0xKiwi (NFTX) resolved
LSDan (judge) decreased severity to medium and commented:
