Thanks for the upload. I tested the candidate package on Ubuntu 24.04
(noble) and can confirm it fixes the heap buffer overflow.

Versions:
  - Affected (current noble-updates/security): libcups2t64 2.4.7-1.2ubuntu7.13
  - Tested fix (from ubuntu-security-proposed PPA): libcups2t64 
2.4.7-1.2ubuntu7.14

Setup: default printer is a queue using a large Konica Minolta vendor PPD
(bizhub C224e, "Generic 36C-6SeriesPS(P)", 749942 bytes), which is what
triggers the bug. Reproducer: open a ZIP-based document (.ods) in
LibreOffice; at load time LibreOffice builds the default-printer object,
libcups parses the PPD and overflows.

Deterministic result with valgrind memcheck (same machine, same .ods, same
large-PPD default printer; the only variable changed is libcups.so.2). Full
before/after log attached as valgrind_cups_7.13_vs_7.14_anon.log:

  PART 1 - libcups 2.4.7-1.2ubuntu7.13 (system):
    Invalid write of size 2 and size 8, repeatedly, in
      _cupsRasterAddError <- _cupsRasterExecPS <- _ppdCacheAssignPresets
      <- _ppdCacheCreateWithPPD   (all in libcups.so.2)
      <- Printer::Printer()       (LibreOffice, caller)

  PART 2 - libcups 2.4.7-1.2ubuntu7.14 (tested, injected via LD_PRELOAD of
  the extracted .deb so nothing else on the system changed):
    ERROR SUMMARY: 0 errors from 0 contexts
    No Invalid write, no _cupsRaster*/_ppdCache* errors. Document converts
    and opens normally.

So the overflow is fixed by 2.4.7-1.2ubuntu7.14.

(Note: without valgrind the crash is non-deterministic on 7.13 — the
out-of-bounds write is always there, but whether glibc aborts with
"corrupted size vs. prev_size" depends on heap layout. The valgrind runs
remove that flakiness and show the write is present on 7.13 and gone on
7.14.)

The fix is currently only in the security-proposed PPA; the noble (24.04)
task is still New. Could you please push 2.4.7-1.2ubuntu7.14 through the
SRU into noble-security/noble-updates so it reaches users via the normal
update channel? Reproduced on multiple 24.04 machines here. Thanks!

** Attachment added: "valgrind_cups_7.13_vs_7.14_anon.log"
   
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/2156339/+attachment/5977050/+files/valgrind_cups_7.13_vs_7.14_anon.log

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2156339

Title:
  LibreOffice 24.2.7-0ubuntu0.24.04.5 crashes (heap corruption) when
  opening any ZIP-based document (ODF/OOXML)

To manage notifications about this bug go to:
https://bugs.launchpad.net/cups/+bug/2156339/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to