The vulnerability is a denial-of-service (DoS) in LiquidJS's template rendering engine. The renderLimit feature, designed to prevent resource exhaustion from long-running templates, could be bypassed. The root cause was in the Render.renderTemplates function, where the time limit check was located inside a loop that processed template elements. If a template tag with an iterable body, such as {% for %} or {% tablerow %}, was used with an empty body, the renderTemplates function was called repeatedly with an empty list of templates. This caused the time limit check to be skipped entirely, allowing a template to consume CPU resources for an attacker-controlled duration, far exceeding the configured renderLimit. The fix involves moving the time limit check to the beginning of the renderTemplates function, ensuring it is executed on every invocation, regardless of whether the template body is empty or not.