Skip to content

Commit

Permalink
Changes, Release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
wiredfool committed Sep 30, 2016
1 parent fe7b41b commit 58e7501
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
10 changes: 10 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
Changelog (Pillow)
==================

3.3.2 (2016-10-03)
------------------

- Fix negative image sizes in Storage.c #2105
[wiredfool]

- Fix integer overflow in map.c #2105
[wiredfool]


3.3.1 (2016-08-18)
------------------

Expand Down
40 changes: 40 additions & 0 deletions docs/releasenotes/3.3.2.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

3.3.2
=====

Integer overflow in Map.c
-------------------------

Pillow prior to 3.3.2 may experience integer overflow errors in map.c
when reading specially crafted image files. This may lead to memory
disclosure or corruption.

Specifically, when parameters from the image are passed into
``Image.core.map_buffer``, the size of the image was calculated with
``xsize``*``ysize``*``bytes_per_pixel``. This will overflow if the
result is larger than SIZE_MAX. This is possible on a 32-bit system.

Furthermore this ``size`` value was added to a potentially attacker
provided ``offset`` value and compared to the size of the buffer
without checking for overflow or negative values.

These values were then used for creating pointers, at which point
Pillow could read the memory and include it in other images. The image
was marked readonly, so Pillow would not ordinarily write to that
memory without duplicating the image first.

This issue was found by Cris Neckar at Divergent Security.

Sign Extension in Storage.c
---------------------------

Pillow prior to 3.3.2 and PIL 1.1.7 (at least) do not check for
negative image sizes in ``ImagingNew`` in ``Storage.c``. A negative
image size can lead to a smaller allocation than expected, leading to
arbitrary writes.

This issue was found by Cris Neckar at Divergent Security.




1 change: 1 addition & 0 deletions docs/releasenotes/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Release Notes
.. toctree::
:maxdepth: 2

3.3.2
3.3.0
3.2.0
3.1.2
Expand Down

0 comments on commit 58e7501

Please sign in to comment.