Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SkeletonKey — CVE-2026-6765, solo prueba de los controladores de FormAutofill expuestos en Firefox | Kitploit
Herramientas/GitHubGitHub/defineid/skeletonkey
Análisis de VulnerabilidadesExplotaciónExfiltración de DatosSeguridad WebPrivacidadAtaque Adversario
GitHubdefineid/skeletonkey

SkeletonKey

CVE-2026-6765, solo prueba de los controladores de FormAutofill expuestos en Firefox

Ver Repositorio
22hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-6765 · Controladores de solo prueba de FormAutofill accesibles fuera de la automatización

Reportero acreditado por Mozilla en MFSA 2026-30: Abdulaziz Alasaiqah. Este directorio contiene un arnés de reproducción real para la vulnerabilidad. Está pensado para ejecutarse contra una compilación vulnerable de Firefox descargada localmente. Nunca toca ningún sistema en vivo ni de terceros.

Repositorio PoC correspondiente: https://github.com/defineid/SkeletonKey Análisis: writeup-ff-autofill.html en este portafolio.

Hechos verificados (registro público)

CampoValorFuente
CVECVE-2026-6765MITRE cvelistV5 (estado PUBLISHED, CNA Mozilla)
TítuloDivulgación de información en el componente Form AutofillNVD · MFSA 2026-30
GravedadModerada · CVSS 5.3 · AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NNVD
CWE359 · Exposición de información privadaNVD
Corregido enFirefox 150 · Firefox ESR 140.10 · Thunderbird 150 / 140.10MFSA 2026-30
Bugbugzilla.mozilla.org/show_bug.cgi?id=2022419 (restringido por seguridad)Referencia de NVD
ReporteroAbdulaziz AlasaiqahMFSA 2026-30

Mecanismo (verificable desde el código fuente)

El par de JSWindowActor de FormAutofill (FormAutofillChild en el contenido y FormAutofillParent en el proceso padre) intercambia mensajes. En el mozilla-central actual, FormAutofillParent.receiveMessage restringe cualquier cosa fuera del conjunto permitido detrás de la comprobación de automatización:

// toolkit/components/formautofill/FormAutofillParent.sys.mjs  (fixed tree)
if (!FORM_AUTOFILL_MESSAGES.has(name) && !Cu.isInAutomation) {
  return undefined;
}

El comentario de origen indica que los manejadores Save y Remove solo son invocados por las pruebas:

  • FormAutofill:SaveAddress
  • FormAutofill:SaveCreditCard
  • FormAutofill:RemoveAddresses
  • FormAutofill:RemoveCreditCards

En las compilaciones afectadas, esos manejadores exclusivos de pruebas eran accesibles sin la barrera Cu.isInAutomation, por lo que un contexto de contenido podía alcanzar rutas de FormAutofill que nunca debían estar expuestas al contenido web. Mozilla calificó la exposición resultante como divulgación de información de datos de autocompletado almacenados.

Nota sobre el alcance: getActor reside en windowGlobalChild, una propiedad exclusiva de chrome. El script de una página normal nunca la ve, por lo que el modelo de amenaza es un proceso de contenido que un atacante ya influye (un compromiso del renderizador o una ruta de código del lado del contenido) que emite el mensaje del actor, no una página web simple. El arnés intenta la ruta de contenido e informa honestamente si el padre respondió o si la frontera se mantuvo.

La primitiva de divulgación exacta reside en el bug 2022419, que está restringido por seguridad. Este arnés demuestra la accesibilidad de un manejador exclusivo de pruebas que una compilación corregida bloquea. Pase la llamada precisa que usó su propio informe con --message.

Modelo de amenaza

Un proceso de contenido que un atacante ya influye (un compromiso del renderizador o una ruta de código del lado del contenido) envía un mensaje del actor FormAutofill que solo debería provenir del arnés de pruebas. En una compilación vulnerable el padre responde. En una compilación corregida la barrera de automatización lo descarta.

Requisitos previos

  1. Una compilación vulnerable. Cualquier Firefox anterior a 150 o ESR anterior a 140.10. Las capturas del informe usan Firefox 140.9.0esr. Descargue la compilación de plataforma correspondiente desde el archivo oficial de Mozilla en https://ftp.mozilla.org/pub/firefox/releases/140.9.0esr/.
  2. Python con el cliente de Marionette:
    pip install marionette-driver
    
  3. Un perfil desechable sembrado con datos de autocompletado sintéticos. Nunca utilice datos personales o de pago reales.

Sembrar un perfil sintético

Inicie la compilación vulnerable con un perfil nuevo y Marionette habilitado:

/path/to/firefox --marionette --no-remote --profile ./poc-profile about:blank

Luego, en about:preferences#privacy, añade una dirección guardada sintética y una tarjeta sintética, por ejemplo, nombre POC TESTER, número de tarjeta 4111 1111 1111 1111. Estos son solo datos de prueba.

Ejecutar

python3 poc.py                 # default handler and 127.0.0.1:2828
python3 poc.py --help          # options
python3 poc.py --message FormAutofill:SaveAddress

Alternativa mediante Browser Toolbox

getActor es exclusivo de chrome, por lo que desde el sandbox de contenido el arnés simple informa que el actor es inalcanzable (véase poc-run.png). Para impulsar el mensaje desde un contexto que realmente posee el actor, en una compilación vulnerable habilite el Browser Toolbox (devtools.chrome.enabled y devtools.debugger.remote-enabled), ábralo con Ctrl+Alt+Shift+I, y desde la consola del proceso de contenido obtenga el actor de windowGlobalChild y llame a sendQuery con la misma carga útil sintética. Esto refleja el modelo de amenaza del proceso de contenido comprometido sin ningún dato real.

Resultado esperado

  • Compilación vulnerable: el arnés alcanza el actor FormAutofill desde el contenido y se ejecuta el manejador exclusivo de pruebas. El script imprime el estado de Form Autofill devuelto o mutado, mostrando el límite que no debería poder cruzarse.
  • Compilación corregida (150 o ESR 140.10 y posteriores): la misma llamada devuelve undefined porque Cu.isInAutomation es false. El script informa que la barrera está aplicada.

Estado de verificación

Este arnés fue creado a partir del registro público y del código fuente actual de mozilla-central. Se ejecutó aquí contra la compilación local de Firefox 140.11.0esr, que ya está parcheada para CVE-2026-6765. La ejecución capturada está en poc-run.png: desde el contexto de contenido el actor FormAutofill no es alcanzable (windowGlobalChild.getActor no está expuesto al contenido), por lo que el límite del proceso padre se mantiene. Ese es el resultado correcto y honesto en una compilación corregida.

Para observar el cruce del límite necesita una compilación vulnerable (Firefox anterior a 150 o ESR anterior a 140.10, por ejemplo 140.9.0esr) más un perfil desechable sembrado con datos de autofill sintéticos, y debe impulsar el mensaje del actor desde un contexto del proceso de contenido según la alternativa mediante Browser Toolbox descrita arriba. Ajuste --message a la primitiva exacta de su informe original.

Alcance y ética

Esto se dirige a una compilación descargada localmente con datos sintéticos para un writeup del CVE reportado por el propio autor y ya parcheado. No ataca ningún servicio en vivo ni de terceros.

Descargar herramienta