(Specifically dangerous when upgrading over Tor. Slightly less
dangerous when upgrading over onions mirrors [boils down to trust, i.e.
IF the onion mirror is not compromised by that time].)
The following bug report is for Qubes Debian, Whonix and Ubuntu templates, however it equally applies to Non-Qubes-Whonix. It’s a bug in Debian’s apt-get so all distributions are equally affected.
I guess Marek (Qubes lead developer) will soon reply to it. That will be great as confirmation if I am overexaggerating this or if it is as serious as I think. However, I am quite certain this is a serious security issue.
TODO:
A Whonix.org blog post to recommend holding with upgrading VMs until/if a workaround has been figured out?
Figure out a workaround to upgrade without getting compromised.
Release Whonix 13.0.0.1.2 downloadable VM images - probably no changes besides building the images with upgraded packages from Debian.
Right, but applying that upgrade through a regular apt-get dist-ugprade might get one compromised. So a special way to upgrade may be required this time.
After manually verifing it and running sudo dpkg -i sha256sum apt_1.0.9.8.4_i386.deb though, I get the following error:
dpkg: error processing archive sha256sum (--install):
cannot access archive: No such file or directory
(Reading database ... 90685 files and directories currently installed.)
Preparing to unpack apt_1.0.9.8.4_i386.deb ...
Unpacking apt (1.0.9.8.4) over (1.0.9.8.3) ...
dpkg: dependency problems prevent configuration of apt:
apt depends on libapt-pkg4.12 (>= 1.0.9.8.4); however:
Version of libapt-pkg4.12:i386 on system is 1.0.9.8.3.
dpkg: error processing package apt (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.0.2-5) ...
Errors were encountered while processing:
sha256sum
apt
Seems like libapt needs to be upgraded as well…
Furthermore, despite the error dpkg-query --show apt tells me that Apt is now 1.0.9.8.4.
It wouldn’t help to verify already upgraded users. It would be reasonable to assume, that the verification on the running system would show that everything is alright. If the system was compromised during a recent apt upgrade by a skilled adversary, then it would make a lot sense for the adversary the later install the non-comprised apt package and to hide as a rootkit elsewhere.
If considered compromised, a full compromise recovery procedure would be required. I don’t think we have documented a full compromise recovery procedure anywhere. Anyone know what I mean and can recommend a good link to some explanation of that?
Fixed time on the server just now.
Drop the sha256sum from that line. That’s a bug in documentation that I’ll be fixing now.
@entr0py: Yes, that does it. Now the question is whether this is safe to do, as while the system is telling me that 1.0.9.8.4 is already installed for apt, meaning the issue should be resolved, however, other packages relying on apt aren’t upgraded at that point.
Ok. That still leaves libapt. Is it reasonable to assume that it has no impact on this issue and thus running apt with it still under 1.0.9.8.3 is safe?
Since users who download Whonix images now are vulnerable and easily fall for regular upgardes, a warning for all supported Whonix platforms on their respective download pages has been added. Implemented just now in a form of a wiki template.
The plan is that once Whonix images with fixed apt are released as stable, that template will be emptied (should then have the same effect as not being added). Should a similar situation arise, that template can be refilled.
I feel like this has already been discussed during the transitional phase from Whonix 12 to 13, though in the wake of this security issue, it might be a good idea to bring it up again. It would perhaps be a good idea to have an aditional field in Whonixcheck which informs users of imminent issues or events, like upgrading to a new version or a bigger security flaw which requires manual changes, like this, since a lot of users likely don’t read the blog or subscribe to a newsletter. Those things of course are still important though for emergencies like this, a seperate way of communcating might be a good idea.
It would perhaps be a good idea to have an aditional field in Whonixcheck which informs users of imminent issues or events,
There is an insufficient one. Called Whonix News as part of whonixcheck. (old screenshot) Insufficient, because it gets hardly noticed by anyone ever. [At least the news files gpg verification stuff is done and hopefully solid, see source code.]
Similarly a ticket for Emergency News Notification is does not yet exist. Ideally also a generic package that can enter packages.debian.org, where Debian and its derivatives such as Qubes and Whonix can drop .d style configuration snippets.
A generic package is better. Then Debian would have informed us about this CVE-2016-1252 earlier.
Ideally the Emergency News Notification tool would also have a Permanent Takedown Attack Defender feature. The initial version wouldn’t require that, but I would be good to plan ahead so it can be added in a later iteration.
Since this is a rather involved project, I suggest to start with a great description of the problems we are seeing, as well as with the solution we are proposing. And then post this on the debian-devel mailing list in the hope that people agree and $someone will implement it. [And even if there is no $someone, there will be hopefully a ton of feedback on how to get this right.] Anyone wanting to take the lead on that?