This repository was archived by the owner on Jun 2, 2024. It is now read-only.
Description This fuzzer produced this panic (triggered by this line ):
thread '<unnamed>' panicked at 'attempt to subtract with overflow', /Users/pascal/.cargo/git/checkouts/zip-rs-62c959c79813fe27/5c12e51/src/read.rs:88
stack backtrace:
0: 0x10edb0f63 - std::sys::imp::backtrace::tracing::imp::unwind_backtrace::hfebda55a0148f0d8
1: 0x10edb1cff - std::panicking::default_hook::{{closure}}::h42d7518fb451881e
2: 0x10edb197b - std::panicking::default_hook::h187f0cce2cdf6403
3: 0x10edb3e6a - std::panicking::rust_panic_with_hook::hcc9e45ce1503358a
4: 0x10edb3d04 - std::panicking::begin_panic::h64dd529720e55854
5: 0x10edb3c82 - std::panicking::begin_panic_fmt::h3c31ecee09d7435b
6: 0x10edb3be7 - rust_begin_unwind
7: 0x10edb5f50 - core::panicking::panic_fmt::hd9dc6c4915cbf1ab
8: 0x10edb5e54 - core::panicking::panic::h7b823a67daa03480
9: 0x10ecc4ca7 - <zip::read::ZipArchive<R>>::new::h0f01a25881b5e655
10: 0x10ecf9f48 - rust_fuzzer_test_input
11: 0x10ed2ab6c - std::panicking::try::do_call::hc13bd523a440d526
using this input (1.2kB of Rust binary string, did not try to shrink this):
b"PK\x03 \x04 \n \x00 \x00 \x00 \x00 \x00 \xe9 p\xda J\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x04 \x00 \x1c \x00 zip/UT\t \x00 \x03 \xf5 \xf8 PY\" \xf9 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x03 \x04 \x14 \x00 \x00 \x00 \x08 \x00 \xe9 p\xda J\xf6 \xe3 \xf0 \xa6 \xd6 \x00 \x00 \x00 \x04 \x18 \x00 \x00 \r \x00 \x1c \x00 zip/.DS_StoreUT\t \x00 \x03 \xf5 \xf8 PY\xf5 \xf8 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 \xed \x98 1\n \xc2 @\x10 E\xff \xc4 \x01 \x9b --\xf7 \n \xde `\t z\x02 / (\xd8 \x88 \x91 H\xac Sy.\x8f f\xc2 ~Q4\x81 X)\xfa \x1f \x0c \xaf \xc8 \xcc &ivv\x16 \x80 \xe5 \xd5 f\x06 8\x00 \x19 \xa2 qF\' \x19 \xe3 \x85 \x84 \xb6 \x18 \xcd \x1a \x15 \x8e \xa7 e\xb9 \xdf \x15 \xfb m\xf7 Z/\xb4 \xb5 c\xac Q\xa0 \xc4 \xe1 \xa9 \xde \x06 \xae !\x84 \x10 B\x88 \xe1 \xb0 \xbf f\x93 \xcf ~\x86 \x10 \xe2 \x0b i\xf7 \x07 O\x07 \xba \x8e 6>O\xe8 \xf4 \xa1 \xc6 \xd1 \x9e \x0e t\x1d m\xcc K\xe8 \x94 \xce hG{:\xd0 u47-\xe3 \xf0 a|\xb3 qB1G{:\xbc \xf5 \xcb B\xfc \r \xa3 (\xd7 \xf6 \xff \x05 z\xe7 \x7f !\xc4 \x0f c\xe9 |9\xcf \xd1 \x7f \xe1 \xd6 \xf6 Z\xdf \xc4 \x8a 9\x97 [a\xcf A \x89 \x17 \x86 S\xdc \xf3 <\x1d \xe8 :Z\x87 \x01 !>\xc1 \x15 PK\x03 \x04 \x14 \x00 \x00 \x00 \x08 \x00 \\ g\xda J\x16 \xd3 \x86 m\x9d \x00 \x00 \x00 \xf7 \x00 \x00 \x00 \x0e \x00 \x1c \x00 zip/Cargo.tomlUT\t \x00 \x03 \xf0 \xe8 PYl\xf8 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 \x85 \x8f 1\x0e \xc3 \x0c Ew\x9f \x02 \xb1 \x07 :W\xea IP\x06 \x08 N@M\x08 \xc2 \x10 \xa9 \xa9 z\xf7 \x9a \xa1 \xaa :U\x9e \xfe \xb7 \x9f \xbf m\xb2 \x9d \xee v\xc1 \x11 \x92 \xdd P\xdc \x84 <c\x1e \xaa -\x0b V\x92 p`\xa1 \xb8 \xa7 \xee _\x14 \x97 \x84 \xdc \xdc \x1a )\xb0 3\xdb \x95 \x10 \xc0 x\xcc \x98 <\xa6 )\" \x8d \xc0 8\xf7 \x9e b\x89 \xb5 S\xa1 \xd6 LW\xad Y\x86 \xe6 \xd4 \xb4 oz;|B\xd2 =\xa7 \x90 \x14 /X\xa3 \x9b \xdb yb\x19 \xe8 A\x7f \xe0 \xd2 \xa8 \x0e }Z\xff P\x8a G\xfa *0\xc6 \xc5 4~\xbf )h=\x1f mk\xf8 (\xc5 \xa1 \xf0 \x06 PK\x03 \x04 \n \x00 \x00 \x00 \x00 \x00 zh\xda J\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x0b \x00 \x1c \x00 zip/corpus/UT\t \x00 \x03 \x00 \x00 \x04 \x18 \x00 \x00 \r \x00 \x18 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xa4 \x81 >\x00 \x00 \x00 zip/.DS_StoreUT\x05 \x00 \x03 \xf5 \xf8 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x01 \x02 \x1e \x03 \x14 \x00 \x00 \x00 \x08 \x00 \\ g\xda J\x16 \xd3 \x86 m\x9d \x00 \x00 \x00 \xf7 \x00 \x00 \x00 \x0e \x00 \x18 \x00 \x00 \x00 \x00 \x00 \x01 \x00 \x00 \x00 \xa4 \x81 [\x01 \x00 \x00 zip/Cargo.tomlUT\x05 \x00 \x03 \xf0 \xe8 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x01 \x02 \x1e \x03 \n \x00 \x00 \x00 \x00 \x00 zh\xda J\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x0b \x00 \x18 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x10 \x00 \xed A@\x02 \x00 \x00 zip/corpus/UT\x05 \x00 \x03 \x18 \xea PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x01 \x02 \x1e \x03 \x14 \x00 \x00 \x00 \x08 \x00 zh\xda J\xcb L\xc0 {\x07 \x00 \x00 \x00 K\x00 \x00 \x00 3\x00 \x18 \x00 \x00 \x00 \x00 \x00 \x01 \x00 \x00 \x00 \xa4 \x81 \x85 \x02 \x00 \x00 zip/corpus/9fdad349dac578687a62907dd7ba4295801fa566UT\x05 \x00 \x03 \x18 \xea PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x01 \x02 \x1e \x03 \x14 \x00 \x00 \x00 \x08 \x00 \x98 h\xda J\xae 2\xf2 \xfa \xfd \x00 \x00 \x00 \x97 \x01 \x00 \x00 \x0b \x00 \x18 \x00 \x00 \x00 \x00 \x00 \x01 \x00 \x00 \x00 \xa4 \x81 \xf9 \x02 \x00 \x00 zip/read.rsUT\x05 \x00 \x03 O\xea PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x01 \x02 \x1e \x03 \n \x00 \x00 \x00 \x00 \x00 \x01 q\xda J\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \n \x00 \x18 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x10 \x00 \xed \xbf \xc4 \xfb \xff \xff \x85 \x96 \x85 /seeds/UT\x05 \x00 \x03 \" \xf9 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x01 \x02 \x1e \x03 \x14 \x00 \x00 \x00 \x08 \x00 \xed p\xda Jj\x00 \x88 m\xb2 \x00 \x00 \x00 \x04 \x18 \x00 \x00 \x13 \x00 \x18 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xa4 \x81 \x7f \x04 \x00 \x00 zip/seeds/.DS_StoreUT\x05 \x00 \x03 \xfd \xf8 PYux\x0b \x00 \x01 \x04 \xf5 \x01 \x00 \x00 \x04 \x14 \x00 \x00 \x00 PK\x05 \x06 \x00 \x00 \x00 \x00 \x08 \x00 \x08 \x00 \xb5 \x02 \x00 \x00 ~\x05 \x00 \x00 \x00 \x00 "
I'm using the latest master version of zip-rs (5c12e51 ) and rustc 1.20.0-nightly (c9bb93576 2017-06-24). The fuzz runner script enables optimizations as well as debug assertions.
Reactions are currently unavailable
This fuzzer produced this panic (triggered by this line):
using this input (1.2kB of Rust binary string, did not try to shrink this):
b"PK\x03\x04\n\x00\x00\x00\x00\x00\xe9p\xdaJ\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x1c\x00zip/UT\t\x00\x03\xf5\xf8PY\"\xf9PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x03\x04\x14\x00\x00\x00\x08\x00\xe9p\xdaJ\xf6\xe3\xf0\xa6\xd6\x00\x00\x00\x04\x18\x00\x00\r\x00\x1c\x00zip/.DS_StoreUT\t\x00\x03\xf5\xf8PY\xf5\xf8PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00\xed\x981\n\xc2@\x10E\xff\xc4 \x01\x9b--\xf7\n\xde`\tz\x02/ (\xd8\x88\x91H\xacSy.\x8ff\xc2~Q4\x81X)\xfa\x1f\x0c\xaf\xc8\xcc&ivv\x16\x80\xe5\xd5f\x068\x00\x19\xa2qF\'\x19\xe3\x85\x84\xb6\x18\xcd\x1a\x15\x8e\xa7e\xb9\xdf\x15\xfbm\xf7Z/\xb4\xb5c\xacQ\xa0\xc4\xe1\xa9\xde\x06\xae!\x84\x10B\x88\xe1\xb0\xbff\x93\xcf~\x86\x10\xe2\x0bi\xf7\x07O\x07\xba\x8e6>O\xe8\xf4\xa1\xc6\xd1\x9e\x0et\x1dm\xccK\xe8\x94\xcehG{:\xd0u47-\xe3\xf0a|\xb3qB1G{:\xbc\xf5\xcbB\xfc\r\xa3(\xd7\xf6\xff\x05z\xe7\x7f!\xc4\x0fc\xe9|9\xcf\xd1\x7f\xe1\xd6\xf6Z\xdf\xc4\x8a9\x97[a\xcfA \x89\x17\x86S\xdc\xf3<\x1d\xe8:Z\x87\x01!>\xc1\x15PK\x03\x04\x14\x00\x00\x00\x08\x00\\g\xdaJ\x16\xd3\x86m\x9d\x00\x00\x00\xf7\x00\x00\x00\x0e\x00\x1c\x00zip/Cargo.tomlUT\t\x00\x03\xf0\xe8PYl\xf8PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00\x85\x8f1\x0e\xc3 \x0cEw\x9f\x02\xb1\x07:W\xeaIP\x06\x08N@M\x08\xc2\x10\xa9\xa9z\xf7\x9a\xa1\xaa:U\x9e\xfe\xb7\x9f\xbfm\xb2\x9d\xeev\xc1\x11\x92\xddP\xdc\x84<c\x1e\xaa-\x0bV\x92p`\xa1\xb8\xa7\xee_\x14\x97\x84\xdc\xdc\x1a)\xb03\xdb\x95\x10\xc0x\xcc\x98<\xa6)\"\x8d\xc08\xf7\x9eb\x89\xb5S\xa1\xd6LW\xadY\x86\xe6\xd4\xb4oz;|B\xd2=\xa7\x90\x14/X\xa3\x9b\xdbyb\x19\xe8A\x7f\xe0\xd2\xa8\x0e}Z\xffP\x8aG\xfa*0\xc6\xc54~\xbf)h=\x1fmk\xf8(\xc5\xa1\xf0\x06PK\x03\x04\n\x00\x00\x00\x00\x00zh\xdaJ\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x1c\x00zip/corpus/UT\t\x00\x03\x00\x00\x04\x18\x00\x00\r\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81>\x00\x00\x00zip/.DS_StoreUT\x05\x00\x03\xf5\xf8PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x01\x02\x1e\x03\x14\x00\x00\x00\x08\x00\\g\xdaJ\x16\xd3\x86m\x9d\x00\x00\x00\xf7\x00\x00\x00\x0e\x00\x18\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa4\x81[\x01\x00\x00zip/Cargo.tomlUT\x05\x00\x03\xf0\xe8PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x01\x02\x1e\x03\n\x00\x00\x00\x00\x00zh\xdaJ\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x18\x00\x00\x00\x00\x00\x00\x00\x10\x00\xedA@\x02\x00\x00zip/corpus/UT\x05\x00\x03\x18\xeaPYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x01\x02\x1e\x03\x14\x00\x00\x00\x08\x00zh\xdaJ\xcbL\xc0{\x07\x00\x00\x00K\x00\x00\x003\x00\x18\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa4\x81\x85\x02\x00\x00zip/corpus/9fdad349dac578687a62907dd7ba4295801fa566UT\x05\x00\x03\x18\xeaPYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x01\x02\x1e\x03\x14\x00\x00\x00\x08\x00\x98h\xdaJ\xae2\xf2\xfa\xfd\x00\x00\x00\x97\x01\x00\x00\x0b\x00\x18\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa4\x81\xf9\x02\x00\x00zip/read.rsUT\x05\x00\x03O\xeaPYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x01\x02\x1e\x03\n\x00\x00\x00\x00\x00\x01q\xdaJ\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x18\x00\x00\x00\x00\x00\x00\x00\x10\x00\xed\xbf\xc4\xfb\xff\xff\x85\x96\x85/seeds/UT\x05\x00\x03\"\xf9PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x01\x02\x1e\x03\x14\x00\x00\x00\x08\x00\xedp\xdaJj\x00\x88m\xb2\x00\x00\x00\x04\x18\x00\x00\x13\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x7f\x04\x00\x00zip/seeds/.DS_StoreUT\x05\x00\x03\xfd\xf8PYux\x0b\x00\x01\x04\xf5\x01\x00\x00\x04\x14\x00\x00\x00PK\x05\x06\x00\x00\x00\x00\x08\x00\x08\x00\xb5\x02\x00\x00~\x05\x00\x00\x00\x00"I'm using the latest master version of zip-rs (5c12e51) and
rustc 1.20.0-nightly (c9bb93576 2017-06-24). The fuzz runner script enables optimizations as well as debug assertions.