Skip to content

Conversation

@ypatil12
Copy link
Collaborator

@ypatil12 ypatil12 commented May 1, 2025

NOTE: #464 was merged to wrong target

Motivation:

It is possible to break the maxOperatorCount invariant by doing the following:

Let's assume there are two quorums, 1 and 2, with a maxOperatorCount of 2.

  1. Alice & Bob register for quorum 1
  2. Bob registers for quorum 2
  3. Bob deregisters from quorum 1, Charlie enters
  4. Quorum 1 Members: Alice/Charlie. Quorum 2 members: Bob
  5. Eve creates a churn registration that exits Bob. Quorum 1 has 3 members. This works just fine since we allow a churn to occur if the operatorToKick is registered to the AVS (not the quorum):
    // Check if operator is registered for all quorums we're trying to remove them from
    if (quorumsToRemove.isSubsetOf(currentBitmap)) {
    _forceDeregisterOperator(operator, quorumNumbers);
    }

Although this assumes that the churnApprover is buggy, we should still be enforcing that you are churning a user if they are registered for the quorum.

Modifications:

Require that the operatorToKick is registered for the quorum.

Result:

Stricter churn guarantees.

@ypatil12 ypatil12 force-pushed the hexens/eigen2-5 branch from 4200b45 to ee77c4f Compare May 1, 2025 17:05
@ypatil12 ypatil12 force-pushed the hexens/eigen2-5 branch from ee77c4f to 7f5b914 Compare May 1, 2025 18:35
@ypatil12 ypatil12 merged commit 3419d2a into hexens-slashing/audit-fixes May 1, 2025
5 checks passed
@ypatil12 ypatil12 deleted the hexens/eigen2-5 branch May 1, 2025 19:52
ypatil12 added a commit that referenced this pull request May 7, 2025
**Motivation:**

Middleware slashing audit fixes from Hexens and Dedaub. 

**Modifications:**

**Medium Sev**
- #467

**Low Sev**
- #462
- #463
- #468
- #474 - note: this removes stale stakes checks from the `BLSSignatureChecker` 

**Informational/Docs**
- #465
- #466
- #472

**Result:**

Audit fixes applied to slashing.
hashmap0x added a commit to hashmap0x/eigenlayer-middleware that referenced this pull request Sep 23, 2025
**Motivation:**

Middleware slashing audit fixes from Hexens and Dedaub. 

**Modifications:**

**Medium Sev**
- Layr-Labs/eigenlayer-middleware#467

**Low Sev**
- Layr-Labs/eigenlayer-middleware#462
- Layr-Labs/eigenlayer-middleware#463
- Layr-Labs/eigenlayer-middleware#468
- Layr-Labs/eigenlayer-middleware#474 - note: this removes stale stakes checks from the `BLSSignatureChecker` 

**Informational/Docs**
- Layr-Labs/eigenlayer-middleware#465
- Layr-Labs/eigenlayer-middleware#466
- Layr-Labs/eigenlayer-middleware#472

**Result:**

Audit fixes applied to slashing.
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.

3 participants