目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-82704— Apache Wicket 任意对象实例化漏洞

一分钟漏洞结论

影响对象
Apache Software Foundation Apache Wicket
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

Apache Wicket 中存在授权缺失漏洞。 仅在 方法允许时才会调用 。该方法的判断逻辑为 。其中,可见性(visibility)部分会读取一个标志位,该标志位保存了 对 操作的授权结果。此标志位仅在渲染阶段通过 方法写入,且仅在此处设置。 由 子类构建的监听器 URL 会将页面标识符(page identifier)和组件路径(component path)合并到同一个参数中,而该页面标识符可能为空。当标识符为空时,系统会构造一个新的页面实例;由于未提供标识符, 返回 ,随后 会直接从新实例中查找组件。因此

CVSS 6.9 · Medium
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-82704 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
Apache Wicket: A listener is invoked on a page instance the request itself created and never configured
来源: CVE Program / CVE List V5
Vulnerability Description
Missing authorization in Apache Wicket. org.apache.wicket.core.request.handler.ListenerRequestHandler invokes an IRequestListener only when org.apache.wicket.Component#canCallListener() allows it, and that method is isEnabledInHierarchy() && isVisibleInHierarchy(). The visibility half reads a flag that carries the outcome of IAuthorizationStrategy#isActionAuthorized() for the Component.RENDER action, and that flag is written in one place only, Component#configure(), during the render phase. A listener URL built by a subclass of org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper carries the page identifier and the component path in a single parameter, and the page identifier may be empty. When it is, a new page instance is constructed, PageProvider#wasExpired() is false because no identifier was supplied, and PageAndComponentProvider#getComponent() finds the component directly on the new instance, so neither a render pass nor Component#configure() runs before the listener is invoked. The flag therefore still holds its constructor default, the component counts as visible, and the listener of a component the authorization strategy denied RENDER for is executed. The same request also skips Component#onConfigure(), so visibility and enablement an application sets there are not applied either. There are two ways to reach this, and neither requires anything but a request. On a page that is stateful, the caller omits the page identifier from a listener URL that would otherwise carry it. On a page that Wicket considers stateless, nothing has to be altered at all: Wicket itself writes listener URLs without a page identifier for such pages, and a component the strategy denies RENDER for is treated as stateless and therefore does not keep the page stateful, so denying RENDER can itself produce the page-id-less form. The second route has never been refused. The ENABLE decision of IAuthorizationStrategy is consulted on every invocation and still refuses, as does a request that supplies the real identifier of a page instance that has already been rendered; a component the application disabled in Component#onConfigure() is protected by neither, because that callback has not run. An application is affected where it withholds an individual component from the caller, either by denying the RENDER action through IAuthorizationStrategy, including through the MetaDataRoleAuthorizationStrategy and AuthorizeAction facilities of wicket-auth-roles, or by setting the component's visibility or enabled flag in Component#onConfigure(), the callback Wicket's own documentation directs applications to use for both. The page carrying such a component has to be constructible from a bookmarkable or mounted URL, which requires a public constructor taking either no arguments or a PageParameters argument. Behaviours pass through the same gate, so an AJAX behaviour attached to such a component is equally exposed. Separately, and whether or not any component is withheld, a listener on a page Wicket considers stateful is invoked on an instance the request itself constructed, so it acts on models built from page parameters the caller supplied rather than on the state the application last rendered. Instantiation authorization is unaffected: IAuthorizationStrategy#isInstantiationAuthorized() is still consulted when the new page instance is created, so a guard placed on the page rather than on the individual component continues to hold. This issue affects Apache Wicket: from 8.0.0 through 8.19.0, from 9.0.0 through 9.24.0, from 10.0.0 through 10.11.0. Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
来源: CVE Program / CVE List V5
Vulnerability Type
授权机制缺失
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Apache Software Foundation Apache Wicket 8.0.0 ~ 8.19.0 -

二、漏洞 CVE-2026-82704 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-82704 的情报信息

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

CVE-2026-82704 其他参考 (1)

同批安全公告 · Apache Software Foundation · 2026-11-01 · 共 19 条

CVE-2026-83594 8.3 HIGH Apache Wicket 文件上传资源字段远程代码执行漏洞
CVE-2026-84170 8.3 HIGH Apache Wicket 文件上传限制未执行漏洞
CVE-2026-95863 7.6 HIGH Apache Wicket 组件 ID 跨站脚本 (XSS) 漏洞
CVE-2026-82956 7.6 HIGH Apache Wicket AjaxNewWindowNotifyingBehavior XSS 漏洞
CVE-2026-111089 7.6 HIGH Apache Wicket 跨站脚本 (XSS) 漏洞
CVE-2026-83539 7.4 HIGH Apache Wicket 跨站脚本漏洞
CVE-2026-83559 7.4 HIGH Apache Wicket 跨站脚本漏洞
CVE-2026-84231 7.4 HIGH Apache Wicket 外部链接模型 URL XSS 漏洞
CVE-2026-82840 7.2 HIGH Apache Wicket 会话 ID 未更新漏洞
CVE-2026-82557 6.9 MEDIUM Apache Wicket 表单提交组件越权执行漏洞
CVE-2026-84172 6.3 MEDIUM Apache Wicket 包资源服务远程代码执行漏洞
CVE-2026-84177 6.3 MEDIUM Apache Wicket 组件标记包资源泄露漏洞
CVE-2026-82705 6.3 MEDIUM Apache Wicket 资源授权绕过漏洞
CVE-2026-82115 6.3 MEDIUM Apache Wicket WebSocket 授权绕过漏洞
CVE-2026-87718 2.3 LOW Apache Wicket 内容安全策略头遗漏漏洞
CVE-2026-82559 2.3 LOW Apache Wicket WebSocket 会话快照跨请求漏洞
CVE-2026-82558 2.3 LOW Apache Wicket 远程代码执行漏洞
CVE-2026-82898 2.1 LOW Apache Wicket 登录墙跨域事件重放漏洞

IV. Related Vulnerabilities