Julia: Do not download dependencies from insecure sources

Created on 10 Aug 2016  路  6Comments  路  Source: JuliaLang/julia

Currently, Julia downloads dependencies from insecure connections in many cases (http:// or git://). This allows for a man-in-the-middle attack, resulting in total compromise of the developer's system.

The only solution is to ensure that all downloads are fetched via secure https:// connections (with strict TLS certificate checking) and (ideally) have SHA512 hashes as well.

build

Most helpful comment

objconv is not checked. Switching to an HTTPS URL fails with a certificate error.

All 6 comments

I believe we do have and check SHA512 hashes for all dependencies.

Since we do SHA512 hash checks, I don't think the transport matters.

Correct, all dependencies are checked for integrity via SHA512 hashes: https://github.com/JuliaLang/julia/tree/master/deps/checksums. The transport should not need to be encrypted.

we could change any of the urls to https if that doesn't break anything, I doubt anyone would notice a difference. would have to remove the insecure/-k flag from deps/tools/jldownload too though.

objconv is not checked. Switching to an HTTPS URL fails with a certificate error.

Good catch! @vtjnash points out that objconv is the only dependency that's not versioned, so upstream changes frequently without warning. We probably need to rehost that particular download.

Was this page helpful?
0 / 5 - 0 ratings