• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Inicio
  • Auditoría
  • Eventos
  • Formación
  • General
  • Malware
  • Vulnerabilidades
  • Un blog de

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

You are here: Home / General / Un fallo en Google Chrome permite extraer información sensible de otras páginas

Un fallo en Google Chrome permite extraer información sensible de otras páginas

18 agosto, 2018 Por Hispasec Leave a Comment

La implementación de la política del mismo origen en las etiquetas HTML multimedia es insuficiente, lo que permite peticionar páginas externas de las que es posible extraer cierta información




Extraer información de tu perfil personal de Facebook si tienes iniciada sesión en él y visitas una web maliciosa. Esta es la prueba de concepto llamativa para esta vulnerabilidad. Es posible extraer tu edad, tus likes, tu histórico de localización… Esta vulnerabilidad ha sido reportada por Imperva, una empresa de seguridad informática dedicada entre otras cosas al análisis de eventos de seguridad. Se dieron cuenta de ella cuando investigaban el comportamiento del mecanismo CORS (Cross-Origin Resource Sharing) en las distintas etiquetas HTML.

Lo que encontraron fue ciertamente interesante… Pero antes es necesario explicar lo básico, para que la vulnerabilidad no nos suene a chino. Primero, es necesario saber que el navegador, por seguridad, restringe bastante las peticiones que puede hacer una página web a otra página web que no esté en su dominio. ¿Qué quiere decir esto? Que la página de facebook.com tal y como se ejecuta en tu navegador, no puede hacer cierto tipo de peticiones a google.com. ¿Por qué este comportamiento? Un ejemplo simple: imagínate que entras a paginamala.com y ésta se pone a hacer peticiones a bancosantander.com, teniendo abierta la banca online… En realidad luego no es tan sencillo, ya que existe otra serie de medidas para evitar que esto ocurra aunque no se respete esa restricción, pero es un control necesario más.

Lo que acabamos de contar arriba no es ni más ni menos que la famosa «same-origin policy» (política del mismo origen), cuyo nombre tras la breve explicación cobra sentido. Lo que pasa es que la web, por definición, no tiene sentido como nodos aislados, y una página funcional necesita recursos de otras webs. No estamos hablando de estar en google.com y desde allí pinchar en un enlace a facebook.com, no. Esto se considera como una acción intencionada del usuario, y no es la misma página la que ejecuta la acción (ni recibe el contenido de facebook.com). Hablamos de facebook.com necesitando una fuente de texto especial alojada en google.com (que tiene una sección para obtener fuentes), para poder mostrarte un texto con esa fuente.


Error en Chrome por realizar una petición que viola la política del mismo origen


Es por esto que para que una web pueda acceder a recursos de otra (siempre que esta otra quiera), se crea el mecanismo CORS antes mencionado, que define una serie de situaciones y acciones que se deben llevar a cabo en éstas que permiten compartir recursos entre orígenes distintos. Y esto es lo que significa CORS básicamente, «intercambio de recursos de origen cruzado». En la práctica esto se implementa haciendo el navegador una petición de prueba antes de la real, para preguntar al dominio externo si permite peticiones completas desde otros dominios, y si no lo permite explícitamente, no se hace la petición completa. En algunos casos más relajados se permite hacer directamente la petición completa, pero si el servidor no especifica explícitamente que cierta página externa puede peticionarla (ya sea por no haber sido configurado o por otras razones), el mismo navegador no permite a la página leer la respuesta a la petición.

Ya disponemos de las bases para entender la vulnerabilidad. Como bien sabemos, la parte principal de una web está compuesta por HTML, que a su vez se compone de etiquetas especificando el contenido de la web. Pues bien, en Google Chrome, las etiquetas ‘audio’ y ‘video’, tienen un pequeño fallo. Estas etiquetas son usadas para insertar audio y vídeo en las páginas, y uno de sus atributos es la URL en la que está el recurso, (audio o vídeo). El fallo que tienen es que no comprueban el tipo de recurso (básicamente, que sea audio o vídeo) antes de permitir acceder a cierta información del recurso. Concretamente, sin saber si el recurso es audio o vídeo y mientras lo descarga, esta etiqueta lanza una serie de eventos que el código JavaScript de la página puede capturar y extraer información de éstos.

¿Cuál es el problema de ésto? Que según el número de eventos de cierto tipo que arroje la etiqueta HTML mientras va cargando el recurso sea audio o no, es posible estimar el tamaño del recurso. ¿Realmente esto es un problema? Sí. Y lo entenderemos describiendo el escenario del ataque propuesto por el autor:

  1. Crea una página en Facebook
  2. Publica un post restringido a personas con 18 años
  3. Publica otro post restringido a persona con 19 años
  4. Publica más posts con la misma idea hasta cubrir todo el rango de edad, año a año
  5. Crea una página maliciosa con tantas etiquetas ‘audio’ como posts has creado en Facebook, y que cada una apunte a un post.
  6. Controla la cantidad de veces que se lanza este evento por cada etiqueta, para estimar el tamaño de cada página.
  7. Consigue que la víctima visite tu página maliciosa

La idea de esto es que el post restringido a la edad que tiene el usuario tendrá un tamaño distinto al resto de páginas, que serán más pequeñas porque en vez del ofrecer el contenido del post, devolverán un mensaje del estilo «no estás autorizado a ver este post». El autor describía esto como jugar a un juego de preguntas de sí o no para adivinar algo, al estilo de Quién es Quién. Este escenario en concreto quizás no se pueda reproducir ahora mismo, ya que Facebook ha cambiado hace poco el sistema de restricción y parece que no se puede restringir por edad a nivel de año, sino por rangos concretos. Igualmente, el autor describe otros campos que se pueden extraer y no sólo es posible con Facebook, sino con cualquier web en realidad que tenga características similares.

Afortunadamente, este fallo (CVE-2018-6177) se reportó por las vías adecuadas (a Google de forma privada) y actualmente se encuentra corregido en la versión estable 68. ¿Cómo lo ha corregido Google? Ahora no permite que se dispare ese evento hasta que el navegador no sepa a ciencia cierta que lo que está cargando es un recursos de audio o vídeo. Esta vulnerabilidad es compleja, aunque comparada con el resto de vulnerabilidades que se suelen encontrar hoy en día tampoco es extraordinaria. Eso permite hacerse una idea de la cantidad de conocimiento que es necesario tener sobre un sistema para encontrar una vulnerabilidad medio grave en éste, sobre todo si es el navegador más usado en todo el mundo.


Carlos Ledesma
@Ravenons


Más información:

A Bug in Chrome Gives Bad Actors License to Play ‘20 Questions’ with Your Private Data
https://www.imperva.com/blog/2018/08/a-bug-in-chrome-gives-bad-actors-license-to-play-20-questions-with-your-private-data/

Stable Channel Update for Desktop – Tuesday, July 24, 2018

https://chromereleases.googleblog.com/2018/07/stable-channel-update-for-desktop.html

Control de acceso HTTP (CORS)
https://developer.mozilla.org/es/docs/Web/HTTP/Access_control_CORS

Política Same-origin
https://developer.mozilla.org/es/docs/Web/Security/Same-origin_politica

Security: Cross Site Resource Size Estimation via OnProgress events
https://bugs.chromium.org/p/chromium/issues/detail?id=826187

defeat cors attacks on audio/video tags
https://chromium.googlesource.com/chromium/src.git/+/4504a474c069d07104237d0c03bfce7b29a42de6

Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Filed Under: General

Reader Interactions

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Primary Sidebar

Buscador

Email Newsletter

Suscríbase y reciba Una al Día en su correo.

UADCAST

Populares de UAD

  • Nuevo 0-day en Google Chrome
  • Hackeado el foro ruso de cibercrimen Maza
  • FedexBanker: El nuevo troyano bancario para Android que utiliza tus paquetes para robarte las credenciales
  • Un bug permite "romper" el WhatsApp de todos los miembros de un grupo
  • Ruffle, emulador para Flash Player

Entradas recientes

  • Hackeado el foro ruso de cibercrimen Maza
  • Nuevo 0-day en Google Chrome
  • FedexBanker: El nuevo troyano bancario para Android que utiliza tus paquetes para robarte las credenciales
  • Descubiertos varios exploits «in-the-wild» basados en Spectre
  • Gootkit RAT utiliza SEO para distribuir malware
  • Descubiertas nuevas versiones del troyano bancario EventBot
  • Liberados parches de seguridad de Cisco que corrigen vulnerabilidades críticas y altas en varios de sus productos
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

Una al Día

Una-al-día nació a raíz de un inocente comentario en un canal IRC hace casi 19 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Entradas recientes

  • Hackeado el foro ruso de cibercrimen Maza
  • Nuevo 0-day en Google Chrome
  • FedexBanker: El nuevo troyano bancario para Android que utiliza tus paquetes para robarte las credenciales
  • Descubiertos varios exploits «in-the-wild» basados en Spectre
  • Gootkit RAT utiliza SEO para distribuir malware

Etiquetas

#bugbounty #ddos #sphinx 0-day 0-zay 0day 0v1ru$ 2FA 4g 5g 10kblaze 888 RAT accellion account hijack ace acrobat acrobat reader actualizacion Actualización actualizar adb address bar AdMaxim Adobe Adobe Bridge Adware Afeter Effects Agencia Tributaria agoda Agora Alemania Alexa Alien Aliznet alphabet Amadeus Amazingco Amazon amd among us Anatova Andr/Xgen2-CY Android Android lowcost androMut AngryPolarBearBug2 anonymous antivirus anubis any.run apache api apk app Apple Apple CVE Apple exploit apps APT apt-c-23 apt39 APT41 apt framework Aptoide apuestas archive_tar arp asp asus ata ataque Atlantis ATP attack Audio Australia autenticación Authentication bypass autodesk avaddon avira azure backdoor Baltimore ban bancario bancos bandook bank banker barcode scanner barra navegacion base de datos BBC BGP BIG-IP bill gates binary defense binaryedge bing biometrica biometría bios bird bitbucket bitcoin bitdefender blackhat bladabindi BLE bleedingtooth BLESA blink blockchain bluekeep blueleaks Bluetooth Bluetooth Low Energy bluez boca bof boletín booking bootstrap-sass borrado bot botnet bots Bot Tegram Brave breach brecha Brikerbot british airways bruteforce BSD bsides buffer overflow Bug Bug bounty bugbounty Bulgaria bypass C&C c2 C2C camaras seguridad cambridge camera Campaign canada cannabis canon capcom car carbanak carding ccleaner cctv CDN cd projekt CDRThief cem censura centurylink cerberus Certifados certificacion Certificates challenge Checkers checkpoint Check Point China chingari Chrome chromium CI Ciberataque Cibercrimen cibercriminal ciber delincuentes ciberdelincuentes ciberespionaje ciberguerra ciberseguridad cifrado cinnamon CISA Cisco Citrix clave privada cloud CloudCMS cloudfare cmd cms cng.sys code execution CoderWare coinhive ColdFusion comrat conferencia confidencial congreso congresos conti contraseñas Cookies copy-on-write Corea del Norte coronavirus covid Covid19 cow cpu Crack Credential-Stuffing CriptoCert criptografía criptomoneda Criptomonedas criptored critical Cross-Site Request Forgery CrowdStrike crypt32 cryptojacking Cryptolocker cryptominado cryptomonedas críticas CSP CSRF ctf customer support cve CVE-202-6109 CVE-2015-4670 CVE-2017-0199 CVE-2019-1619 CVE-2019-1620 CVE-2019-2633 CVE-2019-2638 CVE-2019-2725 CVE-2019-3719 CVE-2019-5096 CVE-2019-5544 CVE-2019-7838 CVE-2019-7839 CVE-2019-7840 CVE-2019-7845 CVE-2019-7850 CVE-2019-11043 CVE-2019-11510 CVE-2019-11707 CVE-2019-11932 CVE-2019-12268 CVE-2019-12592 cve-2019-12815 CVE-2019-12922 CVE-2019-14287 CVE-2019-14899 CVE-2019-15126 CVE-2019-15295 CVE-2019-15316 CVE-2019-16928 cve-2019-19519 cve-2019-19520 cve-2019-19521 CVE-2019-19522 CVE-2019-19639 CVE-2019-19743 CVE-2019-19781 CVE-2019–11396 CVE-2020-0601 CVE-2020-0796 CVE-2020-0915 CVE-2020-0916 CVE-2020-0986 cve-2020-13-50 CVE-2020-724 CVE-2020-1206 cve-2020-1530 cve-2020-1537 CVE-2020-2765 CVE-2020-3142 CVE-2020-3566 CVE-2020-3764 CVE-2020-3952 CVE-2020-3953 CVE-2020-3954 CVE-2020-3956 CVE-2020-6008 CVE-2020-6009 CVE-2020-6010 CVE-2020-6110 CVE-2020-7473 CVE-2020-7961 CVE-2020-8419 CVE-2020-8420\ CVE-2020-8421 cve-2020-8982 CVE-2020-8983 CVE-2020-10148 CVE-2020-11511 CVE-2020-11651 CVE-2020-12351 CVE-2020-12352 CVE-2020-14750 CVE-2020-15466 CVE-2020-25212 CVE-2020-25645 CVE-2020-28188 cve-2020-29491 cve-2020-29492 CVE-2021-1051 CVE-2021-3007 CVE-2021-3156 cvss CyberArk cyberataque cyberattack cyberpunk cyberpunk 2077 cylance CyrusOne código arbitrario D-Link Dark Halo DarkHotel darkirc dark markets darknet darkside darkweb dark web darpa DART Database data breach Data Center Network Manager data leak dataspii DB DCNM ddos ddosecrets Debian decrypter deepfake deep web defacement defcon defender defiant Dell Dell System Detect dell wyse demanda denegacion de servicio Denegación de servicio Denial of Service dependencias dereferencing devfest DHS digilocker digitalocean DigitalRevolution directory traversal disclosure discord Dispositivos IoT django Django Rest Framework DJI DNS DNS over HTTPS docker dockerhub dogecoin DoH doki dolphin dolphinattack donald trump Doogee BL7000 doorbell dos DoubleGun downgrade DrayTek drivers droga dropper drupal duplicado SIM duplicator DVMRP E-Business e-learning EA echobot ecommerce ecsc EDA Edge EEUU egregor ejecución de código ejecución de código arbitrario ekans ElasticSearch elecciones electronica elevacion de privilegios Elevación de privilegios elon musk emotet empire enisa ergegor eris loris error escalada escalada de privilegios ESET ESNI españa estados unidos Estafa esteganografia eternalblue Europa europol eventbot evento eventos Evernote Evernote Web Clipper evilcorp evilgnome Evilnum EvilQuest excel exim Experience Manager exploit extension extorsión exxpedia F5 faceapp Facebook Facebook leaks Facebook Messenger FakeSpy fallos fallout fancy bear Fast Flux fbi fedex fifa20 Filtración filtración de datos fingerprint finspy Firebase FireEye firefox Firefox Private Network Firefox Test Pilot Firewall firma digital flash Flash Player FlawedAmmy flipboard foreshadow formacion Forminator foros FOSSA fotos foxit pdf fpga Framemaker framework fraud Fraude FreakOut FSB fta ftc FTP fuerza bruta Fuga de información Fusion gadget GandCrab garmin gdg gdpr gehealtcare gem GHIDRA gif git github gmail GnuPG go GoAhead godaddy golang goldbrute goldenspy goo Google Google Analytics google app engine google chrome Google Docs Google Hangouts google nest google play googleplay Google Titan gootkit gosms gosmspro goznym gpu Grandoreiro grandstream graph great firewall gsm guacamole guildma hack hackeo hacker hacking hacktivist hardware hash Heap Overflow Heartbleed HEVC hiberus Hijacking hisilicon hispasec historia honda hospital hostinger hotelbeds hoteles hotels http httpd HTTPS huawei Hyper-V hyperv iBaby iBaby Monitor M6S IBM ICAR iCloud ico ie IGMP ilegal iLnkP2P iMessage impresoras india infection infinite loop Infiniti NCAR infosec injection innerSloth insider instagram intel intelligence Internet Explorer intezer labs in the wild Investigación Inyeción SQL IOC iomega iOS IOS XR iot iPad ipados iPhone iPod ipp iran isp Italia iterm2 ITG18 jabber jailbreak java javascript Jenkis JMT Trader joker joomla joomla! jquery js kaiji Karkoff karpersky kaspersky kde kde plasma Keecoo P11 keepass kernel Kernel Linux keyless keylogger kill-switch kindle Koodous Kr00k krebsonsecurity kubeflow kubernete kubernetes la 9 las vegas latinoamerica Lazarus leak Leaks LearnDash LearnPress lenovo Let'sEncrypt ley lfi LG libgcrypt libreoffice libssh licencias LifterLMS Line LinkedIn Linknat linux linux kernel linux mint liquid LMS loader lockbit logitech longwatch lookout lte luisiana Lukas Stefanko lxc M-Horse Pure 1 m1 Maas mac machete MacOS mac os macros magecart magento Mail malaga malspam malvertising malware malware macos apple Manipulación de ficheros market martes martes de parches marzo masmovil masslogger MATA matrix maze mdm mds Media Encoder Media File Jacking MediaTek medicina meldown meltdown MEMS menor mensajería instantánea meow MessageTap messenger metasploit Mi Browser Microsoft Microsoft Edge microsoft excel Microsoft Teams Microsoft Word mijia mikrotik minero mining Mint Browser mirai mit mitre mitron mobileiron modsecurity mod_copy monero MongoDB monitor Moodle MosaicRegressos Motorola mousejack Mozart Mozilla MQTT MSTIC ms word mukashi mySQL móvil NAC Nagios NanocoreRAT nas Navegador Tor nbip nca Nessus netcat Netgear Netlab360 netwalker NetWeaver NeverQuest nginx Nintendo nissan Nissan ASIST NjRAT Nnissan connect things node nordvpn NOTROBIN npm nsa NSACrypt NVIDIA ObjectInjection Obsolescencia programada oceanlotus OFAC Office office 365 oilrig okcupid omnibees omnirat OneDrive onion ONO ONTSI OpenBSD OpenOffice opensouthcode OpenSSH OpenSSL openSuSE openwrt Opera opsec Oracle origin orion oscomerce oscorp osi OS X OTRS outlok Outlook overflow owasp p30 package manager pakistan Paloalto parche parches password password checkup Passwords paswords Patch Tuesday path transversal Path Traversal patrón Payday paypal pdf pear pegasus pewdiepie PhantomNet Pharming Phishing phising Photoshop PHP php-fpm phpmyadmin Picreel piercer pila bluetooth PirateMatryoshka Pixel Play Store plugin Plugins plutotv Poc pod policia policykit policía polkit porn portabilidad PoS PostgreSQL powershell ppp Predator the Thief prensa Privacidad privacy privadas privesc privilege escalation privilegios ProCC ProffPoint proftpd Project Zero Promethium prosegur proxy prueba de concepto psg PsiXBot ptp puerto rico pulsesecure Pulse Secure putty pwn Pwn2Own PyRAT python python3 python 3.8.0 PyVil Qakbot Qbot QNAP QSnatch qualcomm QuickTime quora raas ragnar ragnar locker Ramsay Healt Care RAM scraping ramsonware rana rankmatch ransom ransomware rapid7 RAT RATs ratsnif razer rce rconfig rdp RDS realtek recaptcha reconocimiento facial red.es redes Red Hat red team relay Release relleno de contraseñas remote remote code execution Reporte retpoline retrohuinting revelación de información sensible RevengeHotels RevengeRAT reversing reversinglabs REvil Revocation ReVoLTE Rich Mirch rick-rolling rick astley ridl ring riot robo datos robo de cuenta robo de información root Rooted router routeros RTL8195A ruby RubyGems ruffle rumania Rusia rust rutas ryuk sack panic safari safe mode safety detective salto de restricciones saltstack SAML samsung sandbox SandboxEscaper Sangfor sap scam screensaver Secuestro SIM security security bypass Security Discovery Security Patch security update segmentation fault seguridad seguridad física selinux seo server servidor web sextorción sextorsion sha-1 ShadowPad SHAREit SHAttered Shell ShinyHunters shodan side-channel sigred Silence Silex Silkkitie sim simswapping SIM Swapping siri sistema interno Site Isolation skills skimming skype slack Smanager Smartbuilding Smartphone smartwa Smartwatch smb SMBGhost SMBleed smbv3 smishing sms SMTPD snake snapd Snatch SNI sodin Sodinokibi software libre solar Solarwinds Solorigate sonicwall sop sophos source code SourceFourge spam Spearphone spectre speculative spoofing spotify Spy spyware SQL SQL injection Squid ssh ssid ssl ssltrip ssrf stack overflow Stanislav steal stealer steam stop ransomware strandhogg strongpity studio code sudo Sudo apple suecia Sumbrust supercomputador SupportAssist surfingattack symantec symbotic SymCrypt sysinternals SysTech ta505 takeover talleres tarjetas Tarjetas de crédito tchap TCP/IP tcp sack teclado tecnología Telecom Telegram teletrabajo tenyearchallenge tesla tesoro The Community the great suspender ThemeGrill The North Face the witcher 3 thin client ThinOS Thoth thunderbird Thunderbolt ThunderSpy Tianfu Cup ticketmaster tiktok tik tok timbre timing attack Titan M Titan Security Key tls TMUI tmux Tokopedia tomcat tonedeaf tool TOR torbrowser Tor Browser Torisma torpedo TP-Link TraceTogether Trassion Treck Triada trickbot trojan TroubleGrabber troyano TrueBot trusteer rapport turlaapt tvOS twiiter Twitter typosquatting uad uad360 uad360 congreso malaga uam uber ubuntu UEFI ultrasonido uma unaalmes unauthorized access UNC Under the Breach unifying universidad unix Update updates url ursniff use-after-free user-after-free v8 valorant valuevault valve vault 7 vbulletin vcenter server VictoryGate videocamaras videoportero videos vietnam vim virus virustotal visa vishing Visual Studio VKworld Mix Plus vlc vmware VMware Cloud Foundation VMware ESXi vnc voice assistants voip VOS2009 VOS3000 voto vpn vt vulnera vulnerabilidad vulnerabilidades vulnerability Wacom waf wallet Wall Street Market wastedlocker watchOS wav web WebArx WebEx Weblogic Webmin webrtc web share api wechat welcart WhatsApp Wifi Win32k Windows Windows 10 windows defender windows phone Winnti winrar Wireshark wordfence WordPress WordpressTerror Workstation wpa2 wpa3 wroba wyze X.509 XCode xenmobile Xhelper xiaomi XML xmpp xmr XMRig xnu xor ddos XORpass xploit XSS xssi Yellow Pencil Yves Rocher zaeroday zdnet zendesk Zero-Day zero click zero day zerodium zeus zombieload ZoneAlarm zoom zyxel

Copyright © 2021 · Hispasec