Skip to content

fix[oz-retainer-07-m-02]: remove OOReporter runtime liveness cap - #52

Closed
md0x wants to merge 1 commit into
unaudited-pm-v2-oo-reporterfrom
pablo/fro-96-remove-maximum-liveness-cap
Closed

fix[oz-retainer-07-m-02]: remove OOReporter runtime liveness cap#52
md0x wants to merge 1 commit into
unaudited-pm-v2-oo-reporterfrom
pablo/fro-96-remove-maximum-liveness-cap

Conversation

@md0x

@md0x md0x commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Audit finding

OpenZeppelin Retainer 07 identified the following issue:

M-02 — Raising minimumDisputeWindow Above a Registered Liveness Range Permanently Blocks a Request

  • Severity: Medium
  • Status: Open

OOReporter.registerRequest stores immutable liveness bounds that are validated against Managed OO configuration only at registration time. If minimumDisputeWindow later rises above the stored maximumLiveness, no value can satisfy both the reporter's registered range and Managed OO's current minimum. This can permanently block initialization and manual recovery for the affected request.

References: OpenZeppelin audit findings · FRO-96 · audited scope tag

Resolution

  • Enforce the registered minimumLiveness as the reporter's runtime floor.
  • Retain maximumLiveness unchanged in storage, return values, and events as an offchain initialization target rather than an onchain ceiling.
  • Continue calling setCustomLiveness, so Managed OO enforces its current minimumDisputeWindow and technical maximum.
  • Allow manual recovery above a stale registered maximum after an automatic re-request fails because it reused the previous liveness.
  • Preserve registration validation, public ABI shapes, events, and custom-error signatures.

This is the runtime remediation specified in FRO-107. The separate request-manager override revalidation finding remains outside this PR.

Validation

  • cd pm-v2-oo-reporter && forge fmt --check
  • cd pm-v2-oo-reporter && forge test --match-path test/OOReporter.t.sol — 41 tests passed
  • git diff --check

@linear

linear Bot commented Jul 29, 2026

Copy link
Copy Markdown

FRO-96

@md0x md0x changed the title [FRO-96] Remove OOReporter runtime maximum liveness cap fix[oz-retainer-07-m-02]: remove OOReporter runtime liveness cap Jul 29, 2026

md0x commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #53 so the head branch follows the OpenZeppelin Retainer 07 audit naming convention. The replacement PR points to the same commit and retains the same base, description, and validation.

@md0x md0x closed this Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant