Skip to content

fix: pause reason accepts unbounded String risking ledger bloat #31

Description

@Icahbod

pause(env, caller, reason) writes the reason directly into a PauseInfo payload stored in instance storage and embedded in the paused event, with no upper bound on reason length. A compromised admin key (or a stressed operator typing a verbose postmortem) could pass a multi-kilobyte reason and either blow up gas costs or hit transaction size limits, effectively locking the contract in a paused state that is expensive to supersede. Validate reason.len() <= 256 (or another documented ceiling) before persisting and surface a new SLAError::InvalidInput on violation rather than silently truncating or rejecting with a generic panic.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignbugSomething isn't workinggassecurity

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions