News for hackers. Stuff that matters.
Re:Remote code execution vulnerability in apt/apt-get by moviuro on Tuesday January 22, 2019 @10:49AM (#18969090)
OTOH, they would have been right if there had been (yet another) bug in openssl/whatever lib would be used for https.

FWIW: 16 vulns in apt in NVD [0]; but 202 for openssl [1]

[0] https://nvd.nist.gov/vuln/search/results?form_type=Advanced&...

[1] https://nvd.nist.gov/vuln/search/results?form_type=Advanced&...

Re:Remote code execution vulnerability in apt/apt-get by Ajedi32 on Tuesday January 22, 2019 @01:20PM (#18970719)
APT already supports HTTPS. Enforcing it by default wouldn't increase APT's attack surface significantly.
Re:Remote code execution vulnerability in apt/apt-get by loeg on Tuesday January 22, 2019 @01:25PM (#18970785)
It would decrease the number/quantity/capacity of available mirrors. I don't know if that quantity would be significant.
Re:Remote code execution vulnerability in apt/apt-get by Ajedi32 on Tuesday January 22, 2019 @01:41PM (#18970976)
You would lose the ability to do transparent caching which I agree is rather annoying, but I think most environments where that sort of caching occurs (mostly corporate and school networks) also have the means to explicitly configure client machines to use an internal caching mirror.
Re:Remote code execution vulnerability in apt/apt-get by joombaga on Tuesday January 22, 2019 @04:33PM (#18972743)
Those environments tend to MITM https traffic as well. At least the companies I've worked for can.
Re:Remote code execution vulnerability in apt/apt-get by opless on Wednesday January 23, 2019 @07:16AM (#18977576)
Those companies really need to learn what privacy means.
Re:Remote code execution vulnerability in apt/apt-get by opless on Wednesday January 23, 2019 @07:17AM (#18977582)
You could run a caching mirror for such things, such as artifactory for example.
Re:Remote code execution vulnerability in apt/apt-get by raesene9 on Tuesday January 22, 2019 @12:08PM (#18969896)
OpenSSL is not the only available implementation of SSL.
Re:Remote code execution vulnerability in apt/apt-get by detaro on Tuesday January 22, 2019 @12:12PM (#18969934)
Realistically, it's the one that's gonna be used in apt though. (E.g. the existing HTTPS transport uses curl, which uses OpenSSL)
Re:Remote code execution vulnerability in apt/apt-get by jwilk on Tuesday January 22, 2019 @12:25PM (#18970099)
libcurl has many TLS backends. APT before 1.6 actually uses the GnuTLS one.

APT ≥ 1.6 doesn't use libcurl; it uses GnuTLS directly.

Re:Remote code execution vulnerability in apt/apt-get by detaro on Tuesday January 22, 2019 @12:27PM (#18970131)
I stand corrected, thx.
Re:Remote code execution vulnerability in apt/apt-get by raesene9 on Tuesday January 22, 2019 @12:15PM (#18969970)
Sure, my point was more that if it's a serious concern to use OpenSSL (Personally I don't think it is, as a lot of work has been done in recent years to improve that codebase), that other options are available.
Re:Remote code execution vulnerability in apt/apt-get by skywhopper on Tuesday January 22, 2019 @12:18PM (#18970016)
So your argument is that bugs in OpenSSL (a necessarily very complex piece of software) mean that using SSL to increase network security is a bad thing?
Re:Remote code execution vulnerability in apt/apt-get by geofft on Tuesday January 22, 2019 @12:30PM (#18970177)
No, their argument is that bugs in OpenSSL mean that using SSL when it does not actually increase network security is a bad thing. Reduce your attack surface. Use the things you need to use; don't use things you don't need to use.

Whether apt using OpenSSL would in fact increase network security is a separate and debatable question, but the argument as stated assumes it would not, and is sound.

Re:Remote code execution vulnerability in apt/apt-get by zaarn on Tuesday January 22, 2019 @12:34PM (#18970221)
Defense in depth is a thing.

SSL provides some security guarantees.

Using signed package databases also provide some security guarantees.

Both may overlap in what security they provide.

BUT!

If one fails, the other can continue to provide a subset of the previously available guarantees.

Re:Remote code execution vulnerability in apt/apt-get by moviuro on Tuesday January 22, 2019 @12:42PM (#18970298)
Not in the case of OpenSSL, no. (Some) OpenSSL issues, just as (some) apt issues, end with RCE. Game over.

Priv-sep, correctly handling untrusted files (e.g. 1. check signature, then 2. execute whatever; not the other way round), memory-safe languages, etc. would be more welcome additions.

Re:Remote code execution vulnerability in apt/apt-get by blattimwind on Wednesday January 23, 2019 @08:42AM (#18977983)
> Priv-sep

Apt even has the had part already implemented by separating the network I/O in other processes. Only problem is that those currently write directly to system directories, but that can be fixed.

Re:Remote code execution vulnerability in apt/apt-get by tracker1 on Tuesday January 22, 2019 @02:39PM (#18971628)
And overcoming both is much harder than overcoming either on their own.
Re:Remote code execution vulnerability in apt/apt-get by moviuro on Tuesday January 22, 2019 @02:46PM (#18971699)
In the worst case, you only need to overcome one. And you ~double your attack surface.
Re:Remote code execution vulnerability in apt/apt-get by tracker1 on Tuesday January 22, 2019 @06:14PM (#18973718)
Which one? If you gain control of a server, you'd still have to overcome signing... and you only control that single server, not all replicas (for a bug like in TFA).

Could you describe a way to have double the attack surface that would effect the majority of peer servers?

Re:Remote code execution vulnerability in apt/apt-get by moviuro on Tuesday January 22, 2019 @12:33PM (#18970214)
No. My argument is that both arguments do exist and security is all about middle-ground. Do we add (yet another) layer of (bug-riddled) software to defeat one possible sort of exploits, or not? How much does it cost? (Time, money, etc.)

Other options include: not handle http directly in the package manager but use a known-good library (curl?); do priv-sep; not having the package manager execute code from a file before it checked its authenticity...

My personal opinion on the topic is that authenticating servers is a good thing to do (https does this; encryption is an added benefit), but time has shown that https is broken: libs are full of holes; the CA model is broken by design. Maybe share updates using ssh?

Re:Remote code execution vulnerability in apt/apt-get by nneonneo on Tuesday January 22, 2019 @01:12PM (#18970616)
Oh for god’s sake will you stop spreading nonsense FUD about https? https is not “broken”. The majority of websites run on https now; most system update mechanisms with the VERY notable exception of apt use https to serve updates.

Sure, there are bugs in libraries, but seeing as https is already widespread you’re not exposing yourself to MORE risk by using https over plain http, and you mitigate attacks like this post. Any random coffee shop, untrusted public WiFi, or attacker with a Pineapple could have used this attack to MITM HTTP apt, whereas the attacker would have to compromise an upstream mirror to pull off the same attack over HTTPS.

And re: the CA model, if you’re THAT worried about compromised or fake certs, then pin the cert for a root server like debian.org, then download PGP-signed cert bundles for mirrors and enforce certificate pinning using those bundles only. Done. Apple and Microsoft use cert pinning for their update systems (IIRC).

Re:Remote code execution vulnerability in apt/apt-get by whydoyoucare on Tuesday January 22, 2019 @03:33PM (#18972154)
CA-model requires "extra" investment, that not many are willing to make. Plus there is a secure way to distribute an OS, which does not require https [download over http, obtain signed check-sums from a trusted source, verify, and proceed with installation].
Re:Remote code execution vulnerability in apt/apt-get by cryptonector on Tuesday January 22, 2019 @05:59PM (#18973525)
Letsencrypt.org.

Stop it, just stop it.

Re:Remote code execution vulnerability in apt/apt-get by moviuro on Tuesday January 22, 2019 @03:04PM (#18971878)
> The majority of websites run on https now

We are talking about a specific use case of https: software repositories, which are far higher-value targets than your random website, with another set of challenges. Your package manager can actually do some things as root; once it's owned, your system is Game Over.

Adding yet another lib on top of the (?) most important piece of software on your computer is not a risk to take lightly. There are more elegant solutions (signatures, priv-sep, not trusting anything until authenticated, etc.) that require less risky code to run, and fewer people to come into play.

> Sure, there are bugs in libraries, but seeing as https is already widespread you’re not exposing yourself to MORE risk by using https over plain http

Irrelevant. We're talking about instant game over if it goes to sh.. even if just once. More attack surface = more vulnerabilities.

Re:Remote code execution vulnerability in apt/apt-get by nneonneo on Tuesday January 22, 2019 @06:51PM (#18974115)
If you're that paranoid about OpenSSL, then just sandbox it. Throw the entire `apt-transport-https` subprocess in an unprivileged context. Done.
Re:Remote code execution vulnerability in apt/apt-get by viraptor on Tuesday January 22, 2019 @04:21PM (#18972599)
With https libs you're trading one potential issue with another class of issues. Https implementation may have an rce but (this happens extremely infrequently and can be patched quickly). At the same time, it prevents the whole class of issues of MitM, whatever element of the underlying system they would target. (Which potentially need client changes to multiple elements to get fixed) This is a pretty easy decision to make.
Re:Remote code execution vulnerability in apt/apt-get by jmvoodoo on Tuesday January 22, 2019 @01:11PM (#18970612)
I think the point is that adding https over http for the current system would always improve security. At it's most broken, https is at least as secure as http and therefore wouldn't reduce the security of the overall system. It adds one more hurdle for an attacker to clear.

Similarly, the apt team ignoring a bug like this "because it's protected by https anyway." Is an invalid argument.

Re:Remote code execution vulnerability in apt/apt-get by moviuro on Tuesday January 22, 2019 @01:17PM (#18970687)
> adding https over http for the current system would always improve security

No.

If an attacker can inject packets that break your SSL lib, but wouldn't have broken your package manager, you added a vuln.

Example: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0545

Re:Remote code execution vulnerability in apt/apt-get by jmvoodoo on Tuesday January 22, 2019 @01:26PM (#18970799)
Fair. There are specific library attacks that could result in RCE. However that is also true against curl, ssh, and for that matter could be introduced into your http library at some point. The question then becomes what library do you trust most? OpenSSL is attacked and tested constantly. Things have been found (in your example in 2003!). They have been fixed. Apt can choose to stand on it's shoulders, or go through the entire process themselves by putting together a patchwork of their own solutions that will no doubt get less testing by whitehats and be a juicy target for blackhats.
Re:Remote code execution vulnerability in apt/apt-get by giovannibajo1 on Wednesday January 23, 2019 @12:03AM (#18975801)
Even ignoring the fact that there are far better libraries than OpenSSL today (eg: BoringSSL), apt already implements a sandbox-like approach (as the article explains); I'm not sure if the subprocesses are actually sandboxed, but obviously they should and at that point, a vulnerability like the one you cited shouldn't let the attacker escape the very narrow sandbox.
Re:Remote code execution vulnerability in apt/apt-get by null_content on Tuesday January 22, 2019 @11:58AM (#18969752)
That, and Debian would fuck up the implementation.

Lest anyone forgets:

https://www.schneier.com/blog/archives/2008/05/random_number...

Re:Remote code execution vulnerability in apt/apt-get by jwilk on Tuesday January 22, 2019 @11:21AM (#18969368)
How many of these would result in RCE?
Re:Remote code execution vulnerability in apt/apt-get by ryanlol on Tuesday January 22, 2019 @01:52PM (#18971104)
Hard to give an exact amount but there have been loads of potentially exploitable memory corruption issues.
Re:Remote code execution vulnerability in apt/apt-get by dijit on Tuesday January 22, 2019 @11:23AM (#18969391)
Re:Remote code execution vulnerability in apt/apt-get by detaro on Tuesday January 22, 2019 @11:27AM (#18969426)
Fulltext search for "rce", which finds "resou_rce_", "sou_rce_", does not give a number of RCE vulnerabilities.
Re:Remote code execution vulnerability in apt/apt-get by dijit on Tuesday January 22, 2019 @11:57AM (#18969734)
Except that "EXACT MATCH" is enabled, try yourself.

(It should be noted that it /does/ match on "possible RCE", which buffer overflows are often tagged with.)

Re:Remote code execution vulnerability in apt/apt-get by detaro on Tuesday January 22, 2019 @12:00PM (#18969782)
I have. Search for "ontgome" and it finds the bugs containing "Montgomery" (I have taken your url and just replaced the search word):

https://nvd.nist.gov/vuln/search/results?form_type=Advanced&...

I'm not saying none of the results from your search are RCEs, but not all are, and many are fairly speculative.

Re:Remote code execution vulnerability in apt/apt-get by dijit on Tuesday January 22, 2019 @12:04PM (#18969831)
Argh, that's frustrating, I checked 4 of them and thought it was fine.

The problem is that there seem to be many classifications of remote code execution including buffer overflow and "code injection" and you can't choose multiple. :(

Re:Remote code execution vulnerability in apt/apt-get by detaro on Tuesday January 22, 2019 @12:06PM (#18969866)
Yes, I also was surprised that the search didn't have more useful tools (e.g. search by high ranking in individual factors, or even just sort by severity: confirmed RCEs should all by very high)
Re:Remote code execution vulnerability in apt/apt-get by da_chicken on Tuesday January 22, 2019 @11:59AM (#18969770)
As far as I can tell, NIST doesn't directly directly use the term RCE. CVE-2010-5298 is an OpenSSL vulnerability that allows data injection that could potentially result in code execution, but there's no easy way to see that from NIST's categorization:

https://nvd.nist.gov/vuln/detail/CVE-2010-5298

Re:Remote code execution vulnerability in apt/apt-get by detaro on Tuesday January 22, 2019 @12:01PM (#18969789)
that's an additional problem with relying on text search.