Saltar al contenido
DUPIN
ALERTAS · EN VIVO
Contacto

VULNERABILIDADDetectada 01 NOV · 21:47

CVE-2026-82705 Falta de autorización en Apache Wicket para IResource embebidos en componentes

La estrategia de autorización configurada (isResourceAuthorized) solo se aplica en ResourceRequestHandler, por lo que los componentes que reciben un IResource y llaman a respond() directamente no la consultan. Esto afecta a ResourceLink, Image, ImageButton y AjaxDownloadBehavior, y permite acceder a recursos restringidos por una implementación personalizada de isResourceAuthorized o por @AuthorizeResource.

6.3MEDIA

CVSS 4.0

  • Probabilidad de explotación · EPSS del 09/110,3 % · percentil 27
  • Explotada activamenteNo confirmada
  • Exploit públicoNo conocido

Afectados

  • Apache Software Foundation Apache Wicket

    desde 8.0.0 hasta 8.19.0desde 9.0.0 hasta 9.24.0desde 10.0.0 hasta 10.11.0

Qué hacer

  1. Verificá si usás Apache Wicket y en qué versión.
  2. Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
  3. Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.

Calculadora CVSS

CVSS 4.0 · 6.3 MEDIA

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

  • Vector de ataqueRed
  • Complejidad del ataqueBaja
  • Requisitos del ataquePresentes
  • Privilegios requeridosNinguno
  • Interacción del usuarioNinguna
  • Confidencialidad (sistema vulnerable)Baja
  • Integridad (sistema vulnerable)Baja
  • Disponibilidad (sistema vulnerable)Ninguna
  • Confidencialidad (sistemas posteriores)Ninguna
  • Integridad (sistemas posteriores)Ninguna
  • Disponibilidad (sistemas posteriores)Ninguna

Descripción original

Missing authorization in Apache Wicket. org.apache.wicket.authorization.IAuthorizationStrategy declares isResourceAuthorized(), and that method has a single enforcement point in the framework: org.apache.wicket.request.handler.resource.ResourceRequestHandler, the handler that serves a resource reached through a mounted or shared ResourceReference. Components that are handed an org.apache.wicket.request.resource.IResource instance instead call IResource#respond() themselves from their own request listener and never construct that handler. In wicket-core these are org.apache.wicket.markup.html.link.ResourceLink, org.apache.wicket.markup.html.image.Image and org.apache.wicket.markup.html.form.ImageButton; in wicket-extensions it is org.apache.wicket.extensions.ajax.AjaxDownloadBehavior. A resource restricted by a custom isResourceAuthorized() implementation, or by an @AuthorizeResource annotation from wicket-auth-roles, is therefore enforced when it is requested through its own resource URL and is not enforced when the same instance is served through the component that holds it. Which of the two happens is decided by the constructor the application used, and not by anything the application can see in the rendered page. ResourceLink(String, ResourceReference) renders a resource URL and the request is authorized; ResourceLink(String, IResource) renders a component listener URL and it is not. Image, ImageButton and AjaxDownloadBehavior each offer the same pair of constructors and behave the same way. Image and ImageButton write that listener URL into the src attribute of the tag they render, so a browser requests it without any action by the user, and the resource an Image serves may also come from the component's model. An application is affected where it restricts a resource through IAuthorizationStrategy#isResourceAuthorized() or an @AuthorizeResource annotation and then hands that same resource to one of those components as an IResource. An application that does not restrict resources at all is not affected, and neither is a resource that is only mounted or registered as a shared resource. The pattern does not have to be written by the application itself: org.apache.wicket.extensions.markup.html.repeater.data.table.export.ExportToolbar builds each of its export links from an IResource instance, so the exported contents of a data table are served without the resource check in any application that adds that toolbar. As a workaround, register the resource in the application's shared resources and pass the resulting ResourceReference to the component instead of the IResource, so that the request is routed through the handler that consults the authorization strategy. 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.

Referencias (1)

Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.

DUPIN · CONTACTO

Contanos tu caso

El mensaje ya va armado: podés cambiarlo.

También podés escribir a [email protected]. Usamos tus datos solo para responderte.