Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider enabling debug namespace by default #6822

Closed
nflaig opened this issue May 28, 2024 · 3 comments · Fixed by #6824
Closed

Consider enabling debug namespace by default #6822

nflaig opened this issue May 28, 2024 · 3 comments · Fixed by #6824
Labels
scope-interop Issues that fix interop issues between Lodestar and CL, EL or tooling. scope-ux Issues for CLI UX or general consumer UX.

Comments

@nflaig
Copy link
Member

nflaig commented May 28, 2024

Vouch requires debug api to be enabled as it uses the state to determine the validators statuses. This means it is required to pass --rest.namespace flag to work with Lodestar. All other clients have debug apis enabled by default.

@nflaig
Copy link
Member Author

nflaig commented May 28, 2024

I've seen it several times as well that people run into issues using ethdo with Lodestar, as it also relies on state api to retrieve validator information.

Considering this, and the fact that the validators api is also enabled by default which has the same implications in terms of being a potential DoS vector, I think there is no real downside enabling debug by default. The beacon api is generally assumed to be a trusted api, protected by either not exposing it at all (only to validator client) or via proxy which adds additional access control.

For public beacon nodes, we need to consider another strategy, e.g. disabling some apis, or at least do not allow JSON responses for validators and state api.

@nflaig nflaig added scope-interop Issues that fix interop issues between Lodestar and CL, EL or tooling. scope-ux Issues for CLI UX or general consumer UX. labels May 28, 2024
@philknows
Copy link
Member

We should discuss this if there’s enough people at #6809 . We were previously hesitant about having it enabled but can see the value it brings.

@nflaig
Copy link
Member Author

nflaig commented May 28, 2024

To add to what we already discussed, our public nodes already have debug namespace enabled explicitly, so we really only negatively affect Vouch users and solo stakers using ethdo with Lodestar.

For stakers, we already make it pretty clear that the beacon api should not be exposed publicly (via warning log) and by default we bind the rest.address to localhost only. Imo there are more sensitive apis that need to be protected than the debug api, e.g. prepareBeaconProposer which would allow an attacker to steal execution rewards by changing the fee recipient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope-interop Issues that fix interop issues between Lodestar and CL, EL or tooling. scope-ux Issues for CLI UX or general consumer UX.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants