Omniscia Nexera Protocol Audit

Gating Contracts Security Audit

Audit Report Revisions

Commit HashDateAudit Report Hash
5a2cdebe6cApril 22nd 2024280ab7a8e5
1739b6b621May 3rd 2024e88ed4b674

Audit Overview

We were tasked with performing an audit of the Nexera Protocol codebase and in particular their transaction gating module.

The system aims to implement an off-chain based signature validation mechanism that permits the Nexera Protocol to authenticate an on-chain call off-chain and provide a signature that will consequently permit its execution.

The current mechanism's approach is incompatible with a wide variety of systems as it relies on the following assumptions:

  • Introduction of bytes memory argument, thereby mutating the function signature and breaking EIP compatibility
  • Introduction of bytes memory argument in last position, which is prone to errors by integrators as it is a hidden requirement
  • No support of dynamic arguments in verified function signatures, as multiple dynamic arrays are packed differently in calldata and would cause the BaseTxAuthDataVerifier::_verifyTxAuthData function to fail

This approach should be revised, for example by injecting the signature directly to the calldata of the transaction thus ensuring that its function signature is not affected, and that the actual call's encoded structure does not impact the way the signature is decoded.

We advise the Nexera Protocol team to closely evaluate all minor-and-above findings identified in the report and promptly remediate them as well as consider all optimizational exhibits identified in the report.

Post-Audit Conclusion

The Nexera Protocol team iterated through all findings within the report and provided us with a revised commit hash to evaluate all exhibits on.

We evaluated all alleviations performed by Nexera Protocol and have identified that all exhibits have been adequately dealt with no outstanding issues remaining in the report.

Audit Synopsis

SeverityIdentifiedAlleviatedPartially AlleviatedAcknowledged
0000
4400
0000
1100
0000

During the audit, we filtered and validated a total of 0 findings utilizing static analysis tools as well as identified a total of 5 findings during the manual review of the codebase. We strongly recommend that any minor severity or higher findings are dealt with promptly prior to the project's launch as they can introduce potential misbehaviours of the system as well as exploits.

Total Alleviations

The list below covers each segment of the audit in depth and links to the respective chapter of the report: