gvfs may crash when parsing non-valid UTF8 in autorun.inf
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gvfs (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
* Impact
gvfs can be made to segfault by being provided an invalid autorun.inf
* Test Case
Use the proof of concept from bellow to generate an invalid autorun.inf and place it on an usb drive, connect the drive to the computer, gvfs shouldn't hit a segfault
* Regression potential
Check that the autorun feature keeps working
-------
Reported upstream at https:/
Able to reproduce on current Bionic using the PoC attached (which is copied directly from the upstream bug report) - in a fresh Bionic VM:
$ sudo apt install build-essential libgtk2.0-dev
$ cd PCRE_PoC
$ ./compilePoC.sh
$ ./PoC
Content:
-------------------
n�=
-------------------
Pattern:
-------------------
\s*=
-------
Segmentation fault (core dumped)
Haven't yet tested the second PoC via an external disk autorun.inf and gvfs-udisks2-
Also haven't tested in Cosmic / older releases
Changed in gvfs (Ubuntu): | |
importance: | Undecided → High |
status: | Confirmed → Fix Committed |
description: | updated |
I have reworked the PoC to one which allows to reproduce the crash directly just using libpcre, and have verified this works directly on the upstream libpcre releases 8.39, 8.40, 8.41 & 8.42 - waiting on response from upstream - https:/ /bugs.exim. org/show_ bug.cgi? id=2330# c2