More
    HomeNFTCVE-2017-18350 Disclosure

    CVE-2017-18350 Disclosure

    Published on

    DIGITAL MARKETING SERVICES

    spot_img

    Disclosure of the details of CVE-2017-18350, a fix for which was released on November 6th, 2017 in Bitcoin Core version 0.15.1.

    Technical Details

    CVE-2017-18350 is a buffer overflow vulnerability which allows a malicious SOCKS proxy server to overwrite the program stack on systems with a signed char type (including common 32-bit and 64-bit x86 PCs).

    The vulnerability was introduced in 60a87bce873 (SOCKS5 support) and first released in Bitcoin Core v0.7.0rc1 in 2012 Aug 27. A fix was hidden in d90a00eabed (“Improve and document SOCKS code”) released in v0.15.1, 2017 Nov 6.

    To be vulnerable, the node must be configured to use such a malicious proxy in the first place. Note that using any proxy over an insecure network (such as the Internet) is potentially a vulnerability since the connection could be intercepted for such a purpose.

    Upon a connection request from the node, the malicious proxy would respond with an acknowledgement of a different target domain name than the one requested. Normally this acknowledgement is entirely ignored, but if the length uses the high bit (ie, a length 128-255 inclusive), it will be interpreted by vulnerable versions as a negative number instead. When the negative number is passed to the recv() system call to read the domain name, it is converted back to an unsigned/positive number, but at a much wider size (typically 32-bit), resulting in an effectively infinite read into and beyond the 256-byte dummy stack buffer.

    To fix this vulnerability, the dummy buffer was changed to an explicitly unsigned data type, avoiding the conversion to/from a negative number.

    Attribution

    Credit goes to practicalswift for discovering and providing the initial fix for the vulnerability, and Wladimir J. van der Laan for a disguised version of the fix as well as general cleanup to the at-risk code.

    Timeline

    • 2012-04-01: Vulnerability introduced in PR #1141.
    • 2012-05-08: Vulnerability merged to master git repository.
    • 2012-08-27: Vulnerability published in v0.7.0rc1.
    • 2012-09-17: Vulnerability released in v0.7.0.
    • 2017-09-21: practicalswift discloses vulnerability to security team.
    • 2017-09-23: Wladimir opens PR #11397 to quietly fix vulnerability.
    • 2017-09-27: Fix merged to master git repository.
    • 2017-10-18: Fix merged to 0.15 git repository.
    • 2017-11-04: Fix published in v0.15.1rc1.
    • 2017-11-09: Fix released in v0.15.1.
    • 2019-06-22: Vulnerability existence disclosed to bitcoin-dev ML.
    • 2019-11-08: Vulnerability details disclosure to bitcoin-dev ML.

    SITE VISITS

    Map

    Latest articles

    Investment Giant VanEck Predicts Solana (SOL) Will Become Top Three Blockchain by Market Cap in 2024

    Crypto analysts at the investment management giant VanEck are predicting big things for the...

    Binance’s CZ must stay in US, Elon Musk seeks $1B for AI, and other news: Hodler’s Digest, Dec. 3-9

    Binance’s CZ must stay in US, Elon Musk seeks $1B for AI, and other...

    Large-Cap Ethereum Competitors Cardano, Solana and Avalanche Surge As Crypto Market Ticks Upward

    Large-cap rivals of the smart contract platform Ethereum (ETH) surged on Friday as the...

    Spot Bitcoin ETFs Are Coming Soon. How Will They Be Redeemed?

    Spot Bitcoin ETFs Are Coming Soon. How Will They Be Redeemed? BlackRock and Grayscale recently...

    More like this

    Investment Giant VanEck Predicts Solana (SOL) Will Become Top Three Blockchain by Market Cap in 2024

    Crypto analysts at the investment management giant VanEck are predicting big things for the...

    Binance’s CZ must stay in US, Elon Musk seeks $1B for AI, and other news: Hodler’s Digest, Dec. 3-9

    Binance’s CZ must stay in US, Elon Musk seeks $1B for AI, and other...

    Large-Cap Ethereum Competitors Cardano, Solana and Avalanche Surge As Crypto Market Ticks Upward

    Large-cap rivals of the smart contract platform Ethereum (ETH) surged on Friday as the...
     - 
    Arabic
     - 
    ar
    Bengali
     - 
    bn
    German
     - 
    de
    English
     - 
    en
    French
     - 
    fr
    Hindi
     - 
    hi
    Indonesian
     - 
    id
    Portuguese
     - 
    pt
    Russian
     - 
    ru
    Spanish
     - 
    es