captive web portal corrupt Indexes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
update-manager (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
When the computer is connected to a captive web portal, the update manager does not check to see that files downloaded are valid indexes. This results in the web portal's html file being written over some or all of the files in /var/lib/apt/lists. I have been able to remove the corrupted files (assuming if they are that easy to overwrite, then blowing them away will be OK too) with the following command:
cd /var/lib/apt/lists
for foo in `grep -r weblogin.jsp .|cut -f 1 -d ':'`; do sudo rm -f $foo; done
This is not something a new user could be expected to do. I don't know if the behavior has changed recently, but this is the second time I have run into this bug in the last month.
This results in complete breakage of the update system stops all updating until it is fixed. The user does get a little red error icon with an relatively opaque error message which was how I knew to look in the /var/lib/apt/lists directory.
This prevents all security updates so I have flagged it as a security vulnerability.
1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu
bryan@bryan-
Description: Ubuntu 12.04.1 LTS
Release: 12.04
2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center
bryan@bryan-
update-manager:
Installed: 1:0.156.14.9
Candidate: 1:0.156.14.9
Version table:
*** 1:0.156.14.9 0
500 http://
100 /var/lib/
1:0.156.14.5 0
500 http://
1:0.156.14 0
500 http://
3) What you expected to happen
/var/lib/apt/lists should not get corrupted when the computer is on a captive portal before login.
4) What happened instead
/var/lib/apt/lists does get corrupted in a way that has no (obvious to a normal user) fix.
The word "weblogin.jsp" was specific to the captive portal that overwrote my indexes, but may not work on other captive portals. The last time I think I used an html tag such as <\body> as the search term:
for foo in `grep -r "<\body>" .|cut -f 1 -d ':'`; do sudo rm -f $foo; done