GitHub Advisoryadvisory · npm

GHSA-xc76-5pf9-mx8m In Azle, calling `setTimer` causes infinite loop of timers

HIGH Published 2025-03-14 Modified 2025-03-15 Official page ↗
Aliases
CVE-2025-29776
Ecosystem
npm
Packages
azle
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L
Weaknesses
CWE-835
Reviewed
2025-03-14

Affected packages

• npm azle: >= 0.27.0, < 0.30.0 → fixed in 0.30.0

Description

Impact Calling `setTimer` in Azle versions `0.27.0`, `0.28.0`, and `0.29.0` causes an immediate infinite loop of timers to be executed on the canister, each timer attempting to clean up the global state of the previous timer. The infinite loop will occur with any valid invocation of `setTimer`. Patches The problem has been fixed as of Azle version `0.30.0`. Workarounds If a canister is caught in this infinite loop after calling `setTimer`, the canister can be upgraded and the timers will all be cleared, thus ending the loop.

Related

Alias · CVE (1)

  • CVE-2025-29776 Azle is a WebAssembly runtime for TypeScript and JavaScript on ICP. vulnerability

Weakness · CWE (1)

  • CWE-835 Loop with Unreachable Exit Condition weakness

References