Babylon Integer Overflow in Distribution Module CumulativeRewardRatio Calculation Leading to Chain HaltGHSA-869w-47c6-fq8q
Fix: babylonlabs-io/babylon@f0a29d6GHSA-869w-47c6-fq8q is a remote code execution vulnerability in github.com/babylonlabs-io/babylon. A fix is available for github.com/babylonlabs-io/babylon — see the affected versions and patch details below.
Real-World Exposure
github.com/babylonlabs-io/babylonReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
Summary
Minting large amount of tokens through ibc transfer and then depositing them in validator rewards pool (via DepositValidatorRewardsPool message) can lead to integer overflow panic when calculating cumulative_reward_ratio for the validator.
This calculation happens in x/epoching module EndBlocker, thus the panic will halt the chain.
Impact
Denial of Service - Due to panic in the EndBlocker Babylon Genesis will halt
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/babylonlabs-io/babylon | all versions | 1.1.0go get github.com/babylonlabs-io/babylon@v1.1.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/babylonlabs-io/babylon, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update github.com/babylonlabs-io/babylon to 1.1.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-869w-47c6-fq8q is resolved across your whole dependency graph.
Workarounds
Constrain what reaches the vulnerable code: limit the size and shape of untrusted input, isolate the affected component in a sandboxed or least-privileged process, and enable the platform's memory-safety mitigations (ASLR, stack protector, hardened allocator) so an out-of-bounds access is more likely to fail closed than to be exploitable.
Frequently Asked Questions
Is GHSA-869w-47c6-fq8q in your dependencies?
Find it across Go, including transitive dependencies.