Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-93710— Dancer2 versions from 2.0.0 before 2.2.0 for Perl dispatch a route that a dying hook refused when the exception handler halts the response in compile_hooks

Quick assessment

Affected
CVE-2026-93710
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在使用 Perl 的 Dancer2 框架版本中,从 2.0.0 到低于 2.2.0 的版本存在一个漏洞:当某个钩子(hook)因异常(dying hook)拒绝处理某个路由,而异常处理器在 阶段中止(halt)响应时,该被拒绝的路由仍会被分派执行。 具体机制如下: 1. 当一个钩子抛出异常时,会触发 钩子,随后调用清理(cleanup)逻辑,除非失败的那个钩子本身就是异常处理器。 2. 如果异常处理器通过调用响应对象的 方法或设置 属性来中止响应,这种中止操作并不会阻止上述清理过程。清理过程会丢弃调度器(disp

AI Predicted 7.5 Difficulty: Hard EPSS 0.63% · P48

Affected Version Matrix 1

VendorProduct Version RangeStatus
None None 2.0.0< 2.2.0 affected

I. Basic Information for CVE-2026-93710

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Dancer2 versions from 2.0.0 before 2.2.0 for Perl dispatch a route that a dying hook refused when the exception handler halts the response in compile_hooks
Source: CVE Program / CVE List V5
Vulnerability Description
Dancer2 versions from 2.0.0 before 2.2.0 for Perl dispatch a route that a dying hook refused when the exception handler halts the response in compile_hooks. A hook that dies fires core.app.hook_exception, then calls cleanup unless the failing hook is the exception handler. A handler that halts does not stop that cleanup, which discards the request, response and session the dispatcher has yet to read, so the refused route runs. The handler has to halt the response object by calling its halt method or setting is_halted: the halt keyword unwinds through with_return before cleanup runs. A check in a before hook is not enforced: the caller gets the refusal, while the route body runs and its writes land.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
抛出异常的清理不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
- - 2.0.0 ~ 2.2.0 -

II. Public POCs for CVE-2026-93710

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-93710

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-93710 (1)

Other References for CVE-2026-93710 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-93710

No comments yet


Leave a comment