Return-Path: <tiff-bounces@lists.osgeo.org>
Delivered-To: even.rouault@spatialys.com
Received: from spool.mail.gandi.net (spool5.mail.gandi.net [217.70.178.214])
	by nmboxes134.sd4.0x35.net (Postfix) with ESMTP id 0F58E61892
	for <even.rouault@spatialys.com>; Fri, 26 Jul 2019 20:24:16 +0000 (UTC)
Received: from lists.osgeo.org (osgeo6.osgeo.osuosl.org [140.211.15.3])
	by spool.mail.gandi.net (Postfix) with ESMTPS id 8F30DD801DB
	for <even.rouault@spatialys.com>; Fri, 26 Jul 2019 20:24:15 +0000 (UTC)
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id D5C436146DDD;
	Fri, 26 Jul 2019 13:24:10 -0700 (PDT)
Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com
 [209.85.222.43])
 by lists.osgeo.org (Postfix) with ESMTPS id F03656146DDB
 for <tiff@lists.osgeo.org>; Fri, 26 Jul 2019 13:24:08 -0700 (PDT)
Received: by mail-ua1-f43.google.com with SMTP id a97so21708813uaa.9
 for <tiff@lists.osgeo.org>; Fri, 26 Jul 2019 13:24:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:from:date:message-id:subject:to;
 bh=S2mSP4k8Pv7mVW6oKV/fkDe2A7+qpaX2bcNtYCV4bUg=;
 b=W2HNcwJ3ff+NA5QuwJ5SPGtBNxwgINHQzWLiQlTo+tCQPpqcJZgO04QfSDUNT/Zm8Z
 po4C+wcb7gJs96zDYomapgY2+vMYTMKrb8tOJbFfM1KALdNRlsntWwJLqpGBm3OuceVH
 gE3RuydVGBoa5mwLwazwKwbUcs8/pE0G5HqAeonmF0mYl7IsXl1vWTHhu8ydw6DeMSeO
 Se5G81SjW1FFUBD81S4Cp1fcE2vkfq2QBromBxQMQW1YkRgHKcbieGWhQ6M8XPDMx7Un
 28sBLPmA/2jJBpW7l5TAl1MBDRppOFBXi1JWHYPoBLWvDXYPZVIYvAZ9MT7oSLERZ5ez
 CK1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=S2mSP4k8Pv7mVW6oKV/fkDe2A7+qpaX2bcNtYCV4bUg=;
 b=QVk/WKzY3G3wVrrVtD0uPyeTDQPMRf28vsdLQP6qisF4FmUjG1neWxWpWvXwdGPCuE
 2xoTvCBkNyzQZWMlFb0CBNzFu3d5gO9BR6CXo8S8Iv34vvydhXnLPkPOMWmo4e8FIAdd
 ukBJhtxiJ4j0EX4zsLW+FXlZz4GXSwnsdazoCq+++4VyTcq18221wHyArw0fwWVIC05a
 CjJKKnKV1+dc+lbydwZC6nou5krkSNYTX8sb9V8/T5E/Boc8VSrFowq6zpOpKDiKiL6H
 9cC26K3Ha7v5p/ueKUs1GmKYOFfXV4i7Ioealpcprct14RvgduzWqYtn6T5SPpwleb1R
 7b5Q==
X-Gm-Message-State: APjAAAUtDQSXgq1MrVuz0WPEy/midsyv5S7/+MqTuV1sIlKdohmxM6VF
 RteOrXLpXhopmYqudtd+UBB/UjQhSjJ+JrsCWvgYY03CT+4=
X-Google-Smtp-Source: APXvYqxgQJB7DMDKSiuQQOOt7g1QcXzaGZRk82O/uA9RsGXHiF3XH/QoJIeWs9M8iYamnxMQOTB/0E7gn7aPK5VPdhE=
X-Received: by 2002:ab0:614d:: with SMTP id w13mr41529581uan.66.1564172647805; 
 Fri, 26 Jul 2019 13:24:07 -0700 (PDT)
MIME-Version: 1.0
From: nohg nsyi <nohgnsyi@gmail.com>
Date: Fri, 26 Jul 2019 16:23:56 -0400
Message-ID: <CAFV_NpyiBfwFWXO6NGuXXcqK7bTPet-D_537QJFah5V+dfhEDQ@mail.gmail.com>
To: tiff@lists.osgeo.org
Content-Type: multipart/mixed; boundary="0000000000000a8fd0058e9b5371"
Subject: [Tiff] Undefined Behavior in some part of the code
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>
X-GND-Status: LEGIT
Received-SPF: pass (spool5: domain of lists.osgeo.org designates 140.211.15.3 as permitted sender) client-ip=140.211.15.3; envelope-from=tiff-bounces@lists.osgeo.org; helo=lists.osgeo.org;

--0000000000000a8fd0058e9b5371
Content-Type: multipart/alternative; boundary="0000000000000a8fcc058e9b536f"

--0000000000000a8fcc058e9b536f
Content-Type: text/plain; charset="UTF-8"

Hi all,

I encountered a couple Undefined Behavior cases in the source code.
However, I could not come up with a malicious inputs. I'm not sure if they
affect the functionality of the program though. A list of these UBs is
attached.

In "report.txt" you can see the details of error messages. You can also
find the name of input to trigger the issue. I compile with this
configuration.

CC=clang-6.0 CFLAGS="-fsanitize=integer,bounds,shift -O3 -g"
./configure --enable-shared=no --enable-static=yes

How to reproduce:
./tiff2ps $POC

I also tested by these two versions
https://gitlab.com/libtiff/libtiff
https://download.osgeo.org/libtiff/tiff-4.0.10.tar.gz

I appreciate if you share your thoughts on this.

Thanks

--0000000000000a8fcc058e9b536f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<br><br>I encountered a couple Undefined Behavior c=
ases in the source code. However, I could not come up with a malicious inpu=
ts. I&#39;m not sure if they affect the functionality of the program though=
. A list of these UBs is attached.<div><br>In &quot;report.txt&quot; you ca=
n see the details of error messages. You can also find the name of input to=
 trigger the issue. I compile with this configuration.<br><div><br></div></=
div><div>CC=3Dclang-6.0 CFLAGS=3D&quot;-fsanitize=3Dinteger,bounds,shift -O=
3 -g&quot; ./configure=C2=A0--enable-shared=3Dno --enable-static=3Dyes<br><=
/div><div><br></div><div>How to reproduce:<br>./tiff2ps $POC<br></div><div>=
<br></div><div>I also tested by these two versions<br><a href=3D"https://gi=
tlab.com/libtiff/libtiff" target=3D"_blank">https://gitlab.com/libtiff/libt=
iff</a><br></div><div><a href=3D"https://download.osgeo.org/libtiff/tiff-4.=
0.10.tar.gz" target=3D"_blank">https://download.osgeo.org/libtiff/tiff-4.0.=
10.tar.gz</a><br></div><div><br></div><div>I appreciate if you share your t=
houghts on this.<br><br>Thanks</div></div>

--0000000000000a8fcc058e9b536f--

--0000000000000a8fd0058e9b5371
Content-Type: application/zip; name="ub-libtiff.zip"
Content-Disposition: attachment; filename="ub-libtiff.zip"
Content-Transfer-Encoding: base64
Content-ID: <f_jykjy13f0>
X-Attachment-Id: f_jykjy13f0

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
--0000000000000a8fd0058e9b5371
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGlmZiBtYWls
aW5nIGxpc3QKVGlmZkBsaXN0cy5vc2dlby5vcmcKaHR0cHM6Ly9saXN0cy5vc2dlby5vcmcvbWFp
bG1hbi9saXN0aW5mby90aWZmCg==

--0000000000000a8fd0058e9b5371--

