Skip to content

Conversation

0xClandestine
Copy link
Member

@0xClandestine 0xClandestine commented Jun 9, 2025

Motivation:

Release functions did not have a nonReentrant check, and while code is well isolated it would be nice to prevent the concern entirely.

Modifications:

  • Applied the nonReentrant modifier to both releaseSlashEscrow and releaseSlashEscrowByStrategy functions within the SlashEscrowFactory to prevent potential reentrancy vulnerabilities.

  • Relocated the nonReentrant modifier from clearBurnOrRedistributableShares to clearBurnOrRedistributableSharesByStrategy in the StrategyManager to ensure both methods are protected.

Result:

Less reentrancy-based security risk.

@0xClandestine 0xClandestine changed the title fix: more reentrancy checks fix(audit): more reentrancy checks Jun 9, 2025
Copy link
Collaborator

@ypatil12 ypatil12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Targeting wrong branch

@0xClandestine
Copy link
Member Author

Targeting wrong branch

Plan to merge the other first and branch will auto update.

Base automatically changed from fix/out-of-gas-issue to release-dev/redistribution-changes June 10, 2025 19:15
@0xClandestine 0xClandestine force-pushed the release-dev/redistribution-changes branch from 936ffe7 to ecc3fdf Compare June 10, 2025 19:22
@ypatil12
Copy link
Collaborator

Are we sure storage layout isn't becoming clobbered? At least for testnet/preprod

@0xClandestine 0xClandestine merged commit 9159390 into release-dev/redistribution-changes Jun 11, 2025
12 of 15 checks passed
@0xClandestine 0xClandestine deleted the fix/reentrancy branch June 11, 2025 13:21
0xClandestine added a commit that referenced this pull request Jul 1, 2025
**Motivation:**

Release functions did not have a `nonReentrant` check, and while code is
well isolated it would be nice to prevent the concern entirely.

**Modifications:**

* Applied the `nonReentrant` modifier to both `releaseSlashEscrow` and
`releaseSlashEscrowByStrategy` functions within the `SlashEscrowFactory`
to prevent potential reentrancy vulnerabilities.

* Relocated the `nonReentrant` modifier from
`clearBurnOrRedistributableShares` to
`clearBurnOrRedistributableSharesByStrategy` in the `StrategyManager` to
ensure both methods are protected.

**Result:**

Less reentrancy-based security risk.
0xClandestine added a commit that referenced this pull request Jul 2, 2025
**Motivation:**

Release functions did not have a `nonReentrant` check, and while code is
well isolated it would be nice to prevent the concern entirely.

**Modifications:**

* Applied the `nonReentrant` modifier to both `releaseSlashEscrow` and
`releaseSlashEscrowByStrategy` functions within the `SlashEscrowFactory`
to prevent potential reentrancy vulnerabilities.

* Relocated the `nonReentrant` modifier from
`clearBurnOrRedistributableShares` to
`clearBurnOrRedistributableSharesByStrategy` in the `StrategyManager` to
ensure both methods are protected.

**Result:**

Less reentrancy-based security risk.
0xClandestine added a commit that referenced this pull request Jul 2, 2025
**Motivation:**

Release functions did not have a `nonReentrant` check, and while code is
well isolated it would be nice to prevent the concern entirely.

**Modifications:**

* Applied the `nonReentrant` modifier to both `releaseSlashEscrow` and
`releaseSlashEscrowByStrategy` functions within the `SlashEscrowFactory`
to prevent potential reentrancy vulnerabilities.

* Relocated the `nonReentrant` modifier from
`clearBurnOrRedistributableShares` to
`clearBurnOrRedistributableSharesByStrategy` in the `StrategyManager` to
ensure both methods are protected.

**Result:**

Less reentrancy-based security risk.
ypatil12 pushed a commit that referenced this pull request Jul 7, 2025
**Motivation:**

Release functions did not have a `nonReentrant` check, and while code is
well isolated it would be nice to prevent the concern entirely.

**Modifications:**

* Applied the `nonReentrant` modifier to both `releaseSlashEscrow` and
`releaseSlashEscrowByStrategy` functions within the `SlashEscrowFactory`
to prevent potential reentrancy vulnerabilities.

* Relocated the `nonReentrant` modifier from
`clearBurnOrRedistributableShares` to
`clearBurnOrRedistributableSharesByStrategy` in the `StrategyManager` to
ensure both methods are protected.

**Result:**

Less reentrancy-based security risk.
ypatil12 pushed a commit that referenced this pull request Jul 8, 2025
**Motivation:**

Release functions did not have a `nonReentrant` check, and while code is
well isolated it would be nice to prevent the concern entirely.

**Modifications:**

* Applied the `nonReentrant` modifier to both `releaseSlashEscrow` and
`releaseSlashEscrowByStrategy` functions within the `SlashEscrowFactory`
to prevent potential reentrancy vulnerabilities.

* Relocated the `nonReentrant` modifier from
`clearBurnOrRedistributableShares` to
`clearBurnOrRedistributableSharesByStrategy` in the `StrategyManager` to
ensure both methods are protected.

**Result:**

Less reentrancy-based security risk.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants