From 1c73b0fc41c23a08994ef1464c529e0aacff16de Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Fri, 21 Aug 2015 18:00:37 +0200 Subject: Do not parse Status fields from remote sources This could allow an attacker to mark a package as installed in a remote package index, as long as the package was not listed in the dpkg status file. This way, an attacker could force the installation of a package during a dist-upgrade, by providing two packages in an index, an older marked as installed, and a newer - apt would "upgrade" to the newer version. --- apt-pkg/deb/debindexfile.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'apt-pkg/deb/debindexfile.h') diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h index dc75a01ab..5bec4f2ea 100644 --- a/apt-pkg/deb/debindexfile.h +++ b/apt-pkg/deb/debindexfile.h @@ -43,6 +43,8 @@ public: // Abort if the file does not exist. virtual bool Exists() const APT_OVERRIDE {return true;}; + virtual pkgCacheListParser * CreateListParser(FileFd &Pkg) APT_OVERRIDE; + debStatusIndex(std::string const &File); virtual ~debStatusIndex(); }; -- cgit v1.2.3