Your message dated Tue, 18 Aug 2026 21:48:31 +0000
with message-id <[email protected]>
and subject line Bug#1142905: fixed in unzip 6.0-29+deb13u1
has caused the Debian Bug report #1142905,
regarding unzip: stack out-of-bounds NUL write in EF_SMARTZIP handler
[CAN-2026-2034443]
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1142905: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142905
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: unzip
Version: 6.0-28
Severity: grave
Tags: security
X-Debbugs-Cc: [email protected], [email protected]
Hi,
InfoZIP unzip 6.0 contains a stack out-of-bounds NUL byte write in the
EF_SMARTZIP (ID 0x4d63) extra field handler in zipinfo.c. An attacker-
controlled byte from the extra field data is used as an array index to
NUL-terminate a 32-byte stack buffer, without any bounds check.
CAN: CAN-2026-2034443 (pending assignment from MITRE)
CWE: CWE-787 (Out-of-bounds Write) / CWE-121 (Stack-based Buffer Overflow)
CVSS: High (stack OOB write)
ROOT CAUSE (zipinfo.c, lines 1766-1769):
case EF_SMARTZIP:
if ((eb_datalen == EB_SMARTZIP_HLEN) &&
makelong(ef_ptr) == 0x70695A64 /* "dZip" */) {
char filenameBuf[32]; // 32-byte stack buffer
zi_showMacTypeCreator(__G__ &ef_ptr[4]);
memcpy(filenameBuf, &ef_ptr[33], 31); // copies 31 bytes (safe)
filenameBuf[ef_ptr[32]] = '\0'; // NUL WRITE at attacker-
// controlled index!
...
ef_ptr[32] is a byte from the extra field data (attacker-controlled,
range 0-255). filenameBuf is only 32 bytes (indices 0-31 valid). When
ef_ptr[32] > 31, the NUL write lands past the stack buffer boundary.
With ef_ptr[32] = 200, the write is at offset 200 — 168 bytes past
the end of the 32-byte buffer.
TRIGGER: zipinfo poc.zip (or unzip -Z -v poc.zip) where poc.zip has
a file with an EF_SMARTZIP extra field (ID 0x4d63) of exactly
EB_SMARTZIP_HLEN bytes, magic "dZip" at offset 0, and byte value > 31
at offset 32.
ASAN OUTPUT:
==8==ERROR: AddressSanitizer: stack-buffer-overflow on address
0xffffeb74aeb8 at pc 0xaaaad8522268
WRITE of size 1 at 0xffffeb74aeb8 thread T0
#0 0xaaaad8522264 (zipinfo.c, EF_SMARTZIP handler)
Address 0xffffeb74aeb8 is located in stack of thread T0:
[336, 368) 'filenameBuf.i' (line 1704)
Memory access at offset 536 overflows this variable (32 bytes at
stack offset 336-368, write landed at offset 536 = 168 bytes past
the end).
IMPACT: Stack buffer overflow (single NUL byte) with attacker-
controlled offset. While limited to writing a NUL byte, the offset
into the stack is fully controlled (0-255), allowing corruption of
saved frame pointers, local variables, or return addresses depending
on stack layout. At minimum: crash (DoS). Triggered by a user running
zipinfo on a crafted ZIP file.
SUGGESTED FIX:
memcpy(filenameBuf, &ef_ptr[33], 31);
- filenameBuf[ef_ptr[32]] = '\0';
+ {
+ unsigned idx = (unsigned)ef_ptr[32];
+ if (idx > 31) idx = 31;
+ filenameBuf[idx] = '\0';
+ }
Or more conservatively, always NUL-terminate at index 31:
memcpy(filenameBuf, &ef_ptr[33], 31);
filenameBuf[31] = '\0';
Best regards,
Akhil Koul
--- End Message ---
--- Begin Message ---
Source: unzip
Source-Version: 6.0-29+deb13u1
Done: Santiago Vila <[email protected]>
We believe that the bug you reported is fixed in the latest version of
unzip, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Santiago Vila <[email protected]> (supplier of updated unzip package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Tue, 11 Aug 2026 00:10:00 +0200
Source: unzip
Architecture: source
Version: 6.0-29+deb13u1
Distribution: trixie-security
Urgency: high
Maintainer: Santiago Vila <[email protected]>
Changed-By: Santiago Vila <[email protected]>
Closes: 1142904 1142905 1142906
Changes:
unzip (6.0-29+deb13u1) trixie-security; urgency=high
.
* Apply upstream fix for CAN-2026-2034440. Closes: #1142904.
(heap out-of-bounds read in EF_IZUNIX3 extra field handler)
* Apply upstream fix for CAN-2026-2034443. Closes: #1142905.
(stack out-of-bounds NUL write in EF_SMARTZIP handler)
* Apply upstream fix for CAN-2026-2034442. Closes: #1142906.
(heap buffer overflow WRITE in memextract() STORED path)
Checksums-Sha1:
42334eabbc696974f21dfce2a68823e97a76a79c 1495 unzip_6.0-29+deb13u1.dsc
abf7de8a4018a983590ed6f5cbd990d4740f8a22 1376845 unzip_6.0.orig.tar.gz
e454737ecda044fbfa4172f282d1b437a1257939 27112
unzip_6.0-29+deb13u1.debian.tar.xz
1ce8d3add1e144124cab87b7f2e804724f76fc4c 5108
unzip_6.0-29+deb13u1_source.buildinfo
Checksums-Sha256:
b700df33b987c07f3d6435b175e0c2c924368d8c6e4efdcd2adf730ed69d4405 1495
unzip_6.0-29+deb13u1.dsc
036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 1376845
unzip_6.0.orig.tar.gz
32716adbdf903ee4e7e28f8c9884fc3459b22b2214e0ff4cefc0ab9839f43481 27112
unzip_6.0-29+deb13u1.debian.tar.xz
6466573510b0ef8bd825bfb980dbe4df9a9588872e56b75db0e8d94b7ae39348 5108
unzip_6.0-29+deb13u1_source.buildinfo
Files:
fb7b25488ed4028444633dc24fcb0e97 1495 utils optional unzip_6.0-29+deb13u1.dsc
62b490407489521db863b523a7f86375 1376845 utils optional unzip_6.0.orig.tar.gz
dba8d050188fd87fb9101e26d6eaed2f 27112 utils optional
unzip_6.0-29+deb13u1.debian.tar.xz
edb182d881fbb2cc53f997d5a5d75125 5108 utils optional
unzip_6.0-29+deb13u1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEE1Uw7+v+wQt44LaXXQc5/C58bizIFAmp68I0ACgkQQc5/C58b
izJEiAf/bD1tQ/7KrG3mEmaQ3XC8lcwayl+ACFgblKXXj0zKX5XX7D3i04gKiD8Q
0DrV9PQCfrMK+pLdCub69H+4kmUamP6Y+aGoLECy02nGdF9Akk87yAP5ZOUJgHrz
kPF5+Ts8kQl6/mDx+DKBI/hzWv2CylqIi80KXZb4i+dMdqIUDTgk7oY5/N7FtsNJ
FZ1BdCPxoRV4LTDbi6RHnxqdTFSJ1cvKtt7p0GqY6omYksMNWChHFNAFSfHVcb1Q
iD6bXmPnOu61srlvRBuZ0uDHaUvvwKzSf5cKSS1VkZjvhuNIcPa4GG41Vb39K6jr
A3QYWl5pT5cXn6ITJbYmxNaESIIMbg==
=A/a6
-----END PGP SIGNATURE-----
pgpktsJssw6y1.pgp
Description: PGP signature
--- End Message ---