Closed sherlock-admin4 closed 2 months ago
Escalate
This issue is a valid excluded dup of #283
Escalate
This issue is a valid excluded dup of #283
You've created a valid escalation!
To remove the escalation from consideration: Delete your comment.
You may delete or edit your escalation comment anytime before the 48-hour escalation window closes. After that, the escalation becomes final.
Unfortunately, I believe this report doesn't identify any impact in the smart contracts and doesn't explain what will be the effect of the incorrect execution and what it leads to. Hence, I believe it's insufficient to be a duplicate of #283
Result: Medium Duplicate of #283
alexzoid
medium
Inconsistent Edge ID Generation after Work Transfer
Summary
Transferring a work in the
Edition
contract leads to discrepancies in edge ID generation, causing issues with subsequent operations on edges like acknowledgment or unacknowledgment.Vulnerability Detail
The
transferWork
function in the Edition contract updates the creator of a work, which alters the return value ofnode(uint256 tokenId)
. Since edge IDs are generated based on node information, changes to the node affect the consistency of edge IDs. This discrepancy means that after a work is transferred, the previously generated edge IDs no longer correspond accurately to their associated nodes, preventing the correct execution of functions that rely on these IDs.Impact
This is a medium severity issue as it disrupts the functionality of acknowledging or unacknowledging edges after a work transfer.
Code Snippet
https://github.com/sherlock-audit/2024-04-titles/blob/main/wallflower-contract-v2/src/editions/Edition.sol#L412-L420
https://github.com/sherlock-audit/2024-04-titles/blob/main/wallflower-contract-v2/src/editions/Edition.sol#L197-L204
https://github.com/sherlock-audit/2024-04-titles/blob/main/wallflower-contract-v2/src/interfaces/IEdgeManager.sol#L22-L36
Tool used
Manual Review
Recommendation
Consider updating the edge ID generation logic to be less dependent on mutable attributes or explicitly handle edge ID updates when works are transferred.
Duplicate of #283