lighthouse

Bug reports: What happens behind the scenes?

Lifting the curtain on bug reporting process.

By Tan Chee Keong
Bug reports: What happens behind the scenes?

Up to now, there are 11 Lighthouse releases in 2026. It is apparent that most releases have one distinction: fixes for security vulnerabilities. In this blog, we attempt to answer some questions that you may have in your mind: what happens behind the scenes about bug reports?

How we receive bug reports

If you think you have identified a bug, you can submit via the Ethereum Foundation bug bounty programme. We ask that you do not publicly open an issue, as doing so will disqualify you from the program. Once you have submitted the bug report, we will be notified by the Ethereum Foundation Protocol Security Research Team.

We use our in-house security review tool Secstant to scan the Lighthouse codebase. Secstant has identified dozens of bugs which were reported to our developers internally.

The Protocol Security Research Team is also working on finding security vulnerabilities. If they find a bug, they will inform us. We are therefore in close contact with the Ethereum Foundation Protocol Security Research Team, even more so in the past few months, as the advent of AI and LLMs has led to bugs being discovered at an unprecedented rate.

Alternatively, we can be reached directly via email: security@sigmaprime.io.

From receiving to closing a report

Once we receive a report, our developer typically replies within 24 hours for a first assessment of how we think of the bug severity, or if the bug report is valid.

The bug report usually comes with a proof of concept (PoC). The PoC can be as simple as a peer connecting to a Lighthouse beacon node, sending invalid data to attack the node; or it can be a Kurtosis testnet. We run the PoC to reproduce the bug. If the PoC has demonstrated the attack, we will then work on a fix. When we have a fix, we run them against the PoC again and/or testnets to confirm that the attack no longer works.

Once the fix is merged, we will close the report as complete.

Closed reports

The previous section alludes that not all reports contain valid bugs. From our record of 81 closed reports, 54% are valid and 46% are not considered as valid. The latter includes reports that are not a security concern, known or duplicated issues, or reports that are informational in which a fix is not necessary.

The bugs are categorized into a few categories of severity: low, medium, high or critical. Of the valid reports, the percentage of severity is as follows: 45% low, 41% medium and 14% high. We have not received a critical bug report to date, and we hope to maintain it this way.

Counting from the day the bug was reported to the day the fix was merged, the median is 17 days and the average is 33 days. The time taken to fix a bug varies, depending on its impact, complexity and exploitability. For high impact bugs, we will fix it as a high priority. This includes publishing a release right after to prevent any potential exploits. Conversely, if a bug is not impactful or easily exploitable, we will still fix it but with a lower urgency.

List of vulnerability

When we publish a new release, we will not disclose the vulnerability instantly. This is to give users time to update their nodes. After some time, we will update the vulnerability details in the release notes and Github Security Advisories for full transparency.

A summarising table of all vulnerabilities from Lighthouse v8.1.1 to v8.3.1 is appended at the end.

Coordination

You may be wondering: since Lighthouse is open-source, how do we push the fix and not attract exploits? After all, the fix will be public for some short time before a release is announced.

This is true, and this is where coordination comes in. If the bug is within Lighthouse itself, we can push the fix and make a release right after, minimizing the window between the fix and the release to just a few hours.

If the bug is in a Lighthouse dependency, for example the quinn repository, our developers will coordinate with the maintainer of the repository about a release timeline. Using Lighthouse v8.2.3 as an example, the quinn repository published:

We were aware of their update timeline. We planned internally and published:

This is within 24 hours after the dependency update. Narrowing the window of time not only reduces the likelihood of an attack, it also enables our users to update Lighthouse quickly and enjoy the peace of mind.

Real-life attack

You may also be wondering: has there been a successful real-life attack on a Lighthouse node that has not updated?

As a matter of fact, there was. We rolled out Lighthouse v8.1.2 which contains the security fix for rust-libp2p on 9th March 2026. Just one day after, a user reported a crashed Lighthouse node. The issue is exactly the vulnerability that is fixed in Lighthouse v8.1.2. The user was using Lighthouse v8.1.1, which is vulnerable to the bug, and the node was brought down. The fix is to simply update Lighthouse to be immune to the attack.

Concluding remarks

With AI and LLMs tools actively scanning the Lighthouse codebase, there is no doubt that new bugs will keep being surfaced. Looking on the bright side, fixing bugs improves Lighthouse quality, making it more resilient to attacks. In the blockchain industry where things are changing rapidly, one thing does not change: our developers who have been working diligently, and will continue to work diligently to ensure that Lighthouse remains a performant and secure client.

Appendix

A list of vulnerability fixes from Lighthouse v8.1.1 to v8.3.1

LighthouseRepositorySecurity AdvisoryContributor
v8.1.1rust-yamuxhttps://github.com/libp2p/rust-yamux/security/advisories/GHSA-4w32-2493-32g7@revofusion
v8.1.2rust-yamuxhttps://github.com/libp2p/rust-yamux/security/advisories/GHSA-vxx9-2994-q338@revofusion
rust-libp2phttps://github.com/libp2p/rust-libp2p/security/advisories/GHSA-gc42-3jg7-rxr2@revofusion
quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98@revofusion
v8.1.3rust-libp2phttps://github.com/libp2p/rust-libp2p/security/advisories/GHSA-xqmp-fxgv-xvq5EF Protocol Security Research Team
v8.2.0rust-libp2phttps://github.com/libp2p/rust-libp2p/security/advisories/GHSA-5hq8-qhww-jm7qEF Protocol Security Research Team
quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-4w2j-m93h-cj5j@K-Rintaro
Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-92p8-xfr4-4955EF Protocol Security Research Team
Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-v927-8q6p-vjx2Pranamya Keshkamat
v8.2.1rust-libp2phttps://github.com/libp2p/rust-libp2p/security/advisories/GHSA-g3g5-x568-qvqxEF Protocol Security Research Team
Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-3fm2-7wx2-vp46@ustas-eth
v8.2.2quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-qfwj-vfxf-92j2@ojhermann
quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-hmxj-32vh-65vr@scadastrangelove
quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-2hv7-gw8g-gpq5@alexpyattaev
v8.2.3quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-6pp4-4cxf-xf88@zerox80
quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-wppq-2f6r-wfvm@iainmcgin
quinnhttps://github.com/quinn-rs/quinn/security/advisories/GHSA-53rm-773f-4q8c@iainmcgin
v8.3.0Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-v572-mgjq-2m7h@eclipse07077
Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-rvxr-393q-q925EF Protocol Security Research Team
Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-22w9-383x-536m@revofusion
Lighthousehttps://github.com/sigp/lighthouse/security/advisories/GHSA-8rp4-6f4x-5j4pOctane Security
v8.3.1rustls-webpkihttps://rustsec.org/advisories/RUSTSEC-2026-0382@cpu
webpki-rootshttps://rustsec.org/advisories/RUSTSEC-2026-0381@cpu

Working on something in this space?

Sigma Prime audits Ethereum protocols, smart contracts, and consensus implementations.

Request a scoping call