Skip to content
Request an audit

‹ Findings database

Wrong decoding of verifierResponse in OstiumPriceUpKeep::performUpkeep()

Low/InfoOstium audit·Three Sigma·RWA perpetuals DEX·19th February, 20243S-OS-N16

Description

OstiumPriceUpKeep::performUpkeep() decodes the verifierResponse setting an expiresAt as uint192, when it is in fact a uint32 in both Basic and Premium reports.

This has no impact as the variables are encoded as uint256 with abi.encode(), but should be addressed. Note: here too.

Recommendation

Instead of decoding each element separately, decode to a BasicReport or PremiumReport struct.

Status

Addressed in #3717915.