• 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 / GnuTLS goto fail… también

GnuTLS goto fail… también

5 marzo, 2014 Por Hispasec 3 Comments

Nikos Mavrogiannopoulos, del equipo de seguridad de Red Hat, ha descubierto y parcheado una vulnerabilidad en la implementación de TLS (GnuTLS) que permitiría hacer pasar por válido un certificado falso.

TLS (Transport Layer Security) es el protocolo seguro de transporte llamado a suceder a SSL (Secure Socket Layer). Es uno de los pilares sobre el que se sustenta la seguridad de los datos cuando viajan a través de la red.Se da la circunstancia, tal y como comentamos anteriormente en Una-al-día, que hace varios días se descubrió un error similar en la implementación de TLS propia de Apple en la cual un infame ‘goto fail‘ duplicado provocaba el mismo impacto que el fallo actual.

La repercusión de este tipo de errores es tremenda. Por hacer un símil, es como si en el puesto fronterizo de un país, pongamos Arstotzka, nos pidieran el pasaporte y diesen por valido una hoja de papel con un garabato. Hablamos por supuesto de autenticación. No se trataría de un fallo en el cifrado que debilitase el canal seguro o que facilite el descifrado en una captura del tráfico de red (normalmente este tipo de fallos son causados por la especificación). Se trata de la incapacidad de confiar en la autenticidad de un servidor. Situémonos en un escenario.
Supongamos que un director de I+D de cualquier compañía se encuentra sentado en la sala VIP de un aeropuerto, levanta la tapa de su portátil y ve dos puntos de acceso WiFi, «ViP WiFi» y «ViP WiFi 2«. No se lo piensa dos veces, el segundo tiene mejor potencia, tanta que pareciera que el joven que se sienta frente a él tuviese escondido un punto de acceso portátil en su maletín. Se conecta, abre el navegador y se dirige a ver su webmail. Sabe que su conexión es segura y el sitio autentico, porque como le dijeron en el curso de concienciación «Hay que vigilar que la url empiece por HTTPS y todo esté en verde«.
Y lo está, solo que ni la conexión WiFi es la del aeropuerto, ni el dominio lleva a la IP correcta, ni el certificado es válido. Sin embargo, como lo parece, sus claves, sus correos, sus pdf con documentación secreta, viajaran desde su ordenador hasta el chico del maletín y de ahí a un servidor que se conectará a su vez al servidor de la empresa…
GnuTLS se usa en muchos sistemas Linux y a su vez, en cientos de paquetes de estos sistemas. Esta vulnerabilidad es transversal, toda aplicación que compile contra esta librería es vulnerable. Como podemos ver en el parche aplicado
https://www.gitorious.org/gnutls/gnutls/commit/6aa26f78150ccbdf0aec1878a41c17c41d358a3b
se han eliminado las líneas que contenían la instrucción «goto cleanup» en ciertas comprobaciones y se ha introducido, esta vez con relativo buen criterio, un «goto fail«. La etiqueta «fail» da el valor ‘0‘ a la variable «result» que se usa, a su vez, en la etiqueta «cleanup«.
Si observamos el código completo del archivo lib/x509/verify.c
https://www.gitorious.org/gnutls/gnutls/source/6aa26f78150ccbdf0aec1878a41c17c41d358a3b:lib/x509/verify.c
Vemos que la variable «result» se usa para recoger el resultado de la función «_gnutls_x509_get_data«. Dicha función (lib/x509/common.c) se invoca para leer datos firmados en formato DER (Distinguished Encondig Rules) de un certificado. Esta lectura se aloja en el puntero a estructura «gnutls_datum_t * signed_data«, su último parámetro y devuelve 0 si la operación se ha efectuado con éxito. «gnutls_datum_t» es una estructura muy simple, un puntero a char y un entero donde se guarda el tamaño de la reserva de memoria apuntada.
«_gnutls_x509_get_data» se usa consecutivamente para recoger los valores del certificado y del certificado del emisor en las estructuras nombradas:
issuer_signed_data
cert_signed_data
De forma similar, tenemos la función «_gnutls_x509_get_signature» que obtendrá con parecido mecanismo las firmas del certificado y emisor sobre las estructuras:
issuer_signature
cert_signature
Estas comprobaciones se hacen dentro de la función «check_if_ca» usada para comprobar si el emisor de un certificado es una autoridad de certificación o el certificado es el mismo que el del emisor, dentro del contexto de la cadena de certificados. Varias líneas más abajo, también se parchea otra variable «result«, local a la función «_gnutls_verify_certificate2«, que a su vez llama a «check_if_ca» y se usa para comprobar el certificado contra una lista de autoridades certificadoras de confianza (las que tenemos en el sistema). También hace uso de similares comprobaciones como las comentadas arriba.
Da la impresión de que es posible manipular un certificado desde varios campos distintos y no solo desde uno. También que el fallo estaría relacionado con la circunstancia de que el certificado y el del emisor sea el mismo.
Viendo el parche, podemos observar la importancia de comprobar el estado de las variables tras las comprobaciones y sus valores por defecto cuando estas son declaradas.
La vulnerabilidad con CVE-2014-0092 ya ha sido arreglada y se espera que se propague a todas las distribuciones a través de sus sistemas de paquetes.
Más información:
corrected return codes
https://www.gitorious.org/gnutls/gnutls/commit/6aa26f78150ccbdf0aec1878a41c17c41d358a3b
una-al-dia (25/02/2014) Actualización de Apple para iOS 6 y 7
http://unaaldia.hispasec.com/2014/02/actualizacion-de-apple-para-ios-6-y-7.html

David García
dgarcia@hispasec.com
Twitter: @dgn1729

Compártelo:

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

Publicaciones relacionadas

Filed Under: General

Reader Interactions

Comments

  1. Anónimo says

    5 marzo, 2014 at 10:46 pm

    Gran noticia 🙂

    Responder
  2. Anónimo says

    6 marzo, 2014 at 10:08 am

    Al final Win será el SO más seguro

    Responder
  3. nRoK says

    6 marzo, 2014 at 5:24 pm

    Glory to Arstotzka!

    Responder

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

  • Vulnerabilidades one-click detectadas (VLC y Telegram entre algunas otras)
  • Bug de Whatsapp vulnerable a ataques Man in the Disk
  • Brecha de seguridad afecta a Codecov
  • Dos nuevos fallos críticos en Zoom permiten hackear los dispositivos de los usuarios
  • Un bug permite "romper" el WhatsApp de todos los miembros de un grupo

Entradas recientes

  • Bug de Whatsapp vulnerable a ataques Man in the Disk
  • Brecha de seguridad afecta a Codecov
  • Vulnerabilidades one-click detectadas (VLC y Telegram entre algunas otras)
  • Malware en plantillas empresariales de descarga gratuita
  • Servidores Exchange usados para el minado de criptomonedas mediante la explotación de la vulnerabilidad ProxyLogon
  • Publican exploit para vulnerabilidad RCE en Chrome y Edge, entre otros.
  • Nueva característica en VirusTotal que ayuda a seguir dominios basados en Blockchain
  • 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

  • Bug de Whatsapp vulnerable a ataques Man in the Disk
  • Brecha de seguridad afecta a Codecov
  • Vulnerabilidades one-click detectadas (VLC y Telegram entre algunas otras)
  • Malware en plantillas empresariales de descarga gratuita
  • Servidores Exchange usados para el minado de criptomonedas mediante la explotación de la vulnerabilidad ProxyLogon

Etiquetas

#bugbounty #ddos #sphinx 0-day 0-zay 0day 0v1ru$ 2FA 4g 5g 10kblaze 888 RAT accellion account hijack ace acrobat acrobat reader activismo 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 APT28 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 backup 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 Brecha de seguridad Brikerbot british airways bruteforce BSD bsides buffer overflow Bug bugbounty Bug bounty Bulgaria bypass C&C c2 C2C camara camara seguridad 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 Check Point checkpoint China chingari Chrome chromium CI Ciberataque Cibercrimen cibercriminal ciberdelincuente ciber delincuentes ciberdelincuentes ciberespionaje ciberguerra ciberseguridad cifrado cifrar cinnamon CISA Cisco Citrix clave privada cloud CloudCMS cloudfare clubhouse cmd cms cng.sys codecov code execution CoderWare coinhive ColdFusion comrat conferencia confidencial congreso congresos conti contraseñas Cookies copia de seguridad copy-on-write Corea del Norte coronavirus corrupción de memoria 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 cupy 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-11261 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 CVE-2021-3449 CVE-2021-3450 cvss CyberArk cyberataque cyberattack cyberpunk cyberpunk 2077 cylance CyrusOne cámara código arbitrario D-Link Dark Halo DarkHotel darkirc dark markets darknet darkside dark web darkweb 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 estado estados unidos Estafa esteganografia eternalblue Europa europol eventbot evento eventos Evernote Evernote Web Clipper evilcorp evilgnome Evilnum EvilQuest excel exchange 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 fortinet 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 gigaset 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 hacktivismo hacktivist hardware hash Heap Overflow Heartbleed HEVC hiberus Hijacking hisilicon hispasec historia honda honeypot 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 ingenieria social 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 janeleiro 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 mapas 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 mitigacion mitre mitron mobileiron modsecurity mod_copy monero MongoDB monitor Moodle MosaicRegressos Motorola mousejack Mozart Mozilla MQTT MSERT 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 no parcheado nordvpn NOTROBIN npm nsa NSACrypt nube 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 overlay 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 php8 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 proxylogon prueba de concepto psg PsiXBot ptp puerto rico pulsesecure Pulse Secure putty pwn Pwn2Own pypi 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 sepe server servidor web sextorción sextorsion sha-1 ShadowPad SHAREit SHAttered Shell ShinyHunters shodan side-channel sigred Silence Silex Silkkitie sim SIM Swapping simswapping siri sistema interno Site Isolation skills skimming skype slack small business Smanager Smartbuilding Smartphone smartwa Smartwatch smb SMBGhost SMBleed smbv3 smishing sms SMTPD snake snapd Snatch SNI sodin Sodinokibi software libre solar SolarMarker 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 supply chain 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 Tesla ransomware tesoro The Community the great suspender ThemeGrill The North Face the witcher 3 thin client ThinOS Thoth thunderbird Thunderbolt ThunderSpy Tianfu Cup ticketmaster tik tok tiktok tillie 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 ursnif ursniff use-after-free user-after-free v8 valorant valuevault valve vault 7 vbulletin vcenter server verkada 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 XcodeSpy 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