Function contractInteractions overwrites data for a contract if there are stored interactions with the same contract.
When function InheritanceManager::contractInteractions is called with _storeTarget set to true, the data is stored in the interactions mapping. The issue here is that if there are several interactions with the same contract, each new interaction overrides the data from the previous interactions.
Some interactions with other contracts will be lost if there are new interactions with the same contract.
Manual review
Change type of interactions to mapping(address protocol => bytes[]) and store all interactions for every contract.
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.