Sophos News

Aprendiendo de la última actualización de Curl

Puede que no hayas oído hablar de Curl (o como se escribe correctamente: curl), pero es uno de esos conjuntos de herramientas de código abierto que casi seguro has utilizado, probablemente muy a menudo, sin saberlo.

El mundo del código abierto ofrece numerosas herramientas de este tipo, omnipresentes, ampliamente utilizadas en proyectos de software de todo el mundo, pero a menudo invisibles o escondidas bajo las sabanas, y por lo tanto quizás no tan bien apreciadas como deberían.

SQLite, OpenSSL, zlib, FFmpeg, Minix, etc., la lista de componentes de la cadena de suministro que están incorporados en el hardware y el software que utilizas todo el tiempo, a menudo con nombres completamente diferentes, es larga.

Curl es una de esas herramientas y, como explica su propia web, es una “herramienta de línea de comandos y una biblioteca para transferir datos con URL (desde 1998)”.

Forma parte de casi todas las distribuciones de Linux del planeta, incluidos muchos, si no la mayoría, de los dispositivos IoT integrados, que lo utilizan para programar cosas como actualizaciones y cargas de datos; se incluye en macOS de Apple y en Windows 10 y 11.

También puedes construir y utilizar curl como una biblioteca compartida (busca los archivos llamados libcurl.*.so o CURL*.DLL), para poder llamar al código de curl sin ejecutar un proceso separado y recoger la salida, pero eso también cuenta como “usar curl”.

Última actualización

El proyecto acaba de lanzar su última actualización, corrigiendo seis errores de nivel medio con número CVE, y llevando curl a la versión 7.83.1.

Puedes comprobar qué versión tienes con el comando curl –version, así:

$ curl --version

curl 7.83.1 (x86_64-pc-linux-gnu) libcurl/7.83.1 OpenSSL/1.1.1o zlib/1.2.12

   brotli/1.0.9 zstd/1.5.2 c-ares/1.18.1 libidn2/2.3.2 libpsl/0.21.1

   (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.47.0 OpenLDAP/2.6.2

Release-Date: 2022-05-11

Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap

   ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp

Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6

   Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets zstd


$ # Details in your build may vary depending on what was compiled in

Los errores fueron:

¿Qué hacer?

El proyecto Curl hace que sea fácil averiguar cómo informar de los errores; dice lo que puedes esperar cuando los informes; e incluso incluye un elemento de Seguridad en su menú desplegable de Documentación, dejando así claro que los informes de seguridad son ciudadanos de primera clase en su ecosistema de desarrollo de software.

Una pequeña cosa que puedes hacer y que el equipo de Curl no ha hecho todavía es añadir un archivo security.txt, en un formato estándar, en un lugar estándar conocido de tu sitio web. De esta manera, hay un lugar canónico, en un formato canónico, donde los investigadores de seguridad pueden encontrar tus canales oficiales de notificación de errores. Puedes usar el nuestro como ejemplo, mirando en sophos.com/security.txt y en sophos.com/.well-known/security.txt.