SSV Network security record

Ethereumssv.networkX

As of 1 Nov 2026, SSV Network has 2 audit reports by 2 security firms on Trustblock; the latest is by ChainSecurity, dated 20 Nov 2024. Those reports list no open critical findings.

Critical findings
No open critical findings
Across 2 reports.
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Trustblock does not review code.

Audits2

Newest first

AuditSecurity firmDateScopeCritical findingsReport
SSV-DKG ToolSecurity firm: ChainSecurityDate: Scope: Not recorded (see the report)No open critical findingsOpen · chainsecurity.com
SSV.networkSecurity firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com

Findings33

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical000
High003
Medium035
Low2155
HighDenial of Service With Malicious InitiatorSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
HighInsecure TLS Default ConfigurationSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
HighMissing Signature CheckSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
MediumCrash by Malicious OperatorSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
MediumIncorrect EIP-1271 Magic ValueSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
MediumCluster Owner Can Withdraw Into LiquidationSSV.network · Quantstamp · 21 Jul 2023Fixed

The `withdraw()` function allows the cluster owner to withdraw funds from the cluster balance. The withdrawal is successful as long as there is sufficient balance and the cluster is not liquidatable. The `cluster.isLiquidatable()` function checks whether the cluster is eligible for liquidation based on operator fees, the current network fee, the minimum blocks before the liquidation, and the minimum liquidation collateral. The liquidation check is done before the `amount` is subtracted from the cluster `balance`. This means that it is possible for a cluster owner to withdraw funds that would cause the cluster to become liquidatable.

Open the report
MediumIncomplete Error Handling for Failed DelegatecallSSV.network · Quantstamp · 21 Jul 2023Fixed

The `CoreLib.delegateCall()` function uses a low-level `delegatecall` to execute the logic of another contract. When the `delegatecall` is unsuccessful, the function checks for returned data, and if present, it reverts the transaction and returns this data as an error message. However, in scenarios where the `delegatecall` fails but does not provide any return data, the function does not revert and continues to execute. This could potentially lead to undesired outcomes and unexpected behaviors because the function does not stop despite the `delegatecall` failure.

Open the report
MediumRegister Same OperatorsSSV.network · Quantstamp · 21 Jul 2023Fixed

While the `registerValidator()` function validates the operator count using `_validateOperatorIds()`, it does not prevent the registration of identical operators for a validator. The function only checks that the operator IDs are sorted in ascending order but does not verify whether there are any duplicate operator IDs. If duplicate operator IDs are registered, it could lead to issues with consensus among the operators.

Open the report
LowIgnored DKG PhasesSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
LowReshare Denial-of-Service via Predicable Instance IDsSSV-DKG Tool · ChainSecurity · 20 Nov 2024Fixed

The report gives no description here.

Open the report
Show 3 more
Low`Type256.shrink()` Can OverflowSSV.network · Quantstamp · 21 Jul 2023Fixed

`Type256.shrink()` converts 256-bit values to 64-bit values by dividing a 256-bit value by `10,000,000` and typecasting it to a 64-bit value. Additionally, the 256-bit value must be divisible by `10,000,000` or else the function will revert. If the input 256-bit value is greater than `2^64 * 10,000,000`, the returned 64-bit value is incorrect.

Open the report
LowFee Change Request Viewer Function Fails with Zero Fee RequestSSV.network · Quantstamp · 21 Jul 2023Fixed

The `getOperatorDeclaredFee()` function, which retrieves the details of an operator's fee change request, does not function correctly when the requested fee is zero. The function contains a check that reverts the transaction if the requested fee is zero, returning an error of `NoFeeDeclared()`. However, setting a fee request to zero is a valid operation that an operator might wish to perform. This means that a legitimate fee change request to zero is inaccessible via this viewer function.

Open the report
LowSame Operator Registered Multiple TimesSSV.network · Quantstamp · 21 Jul 2023Fixed

Using `SSVNetwork.registerOperator()`, the same operator can register their public key multiple times where each registration generates a new operator ID. If an operator desires to exceed the `validatorsPerOperatorLimit`, the operator could register the same public key again and partner with more validators.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="ssv-network"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us