Debian Package Tracker
Register | Log in
Subscribe

dia

Diagram editor

Choose email to subscribe with

general
  • source: dia (main)
  • version: 0.98+git20260221-3
  • maintainer: Philippe SWARTVAGHER (DMD) (DM)
  • arch: all any
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 0.97.3+git20160930-9
  • oldstable: 0.97.3+git20220525-5
  • stable: 0.98+git20250126-2
  • testing: 0.98+git20260221-3
  • unstable: 0.98+git20260221-3
versioned links
  • 0.97.3+git20160930-9: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 0.97.3+git20220525-5: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 0.98+git20250126-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 0.98+git20260221-3: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • dia (32 bugs: 0, 18, 14, 0)
  • dia-common
action needed
2 security issues in sid high

There are 2 open security issues in sid.

2 important issues:
  • CVE-2026-77652: A heap-based buffer overflow vulnerability exists in the Dia diagram editor WPG file format importer. In plug-ins/wpg/wpg-import.c, the WPG import renderer allocates a fixed palette with: ren->pPal = g_new0(WPGColorRGB, 256); When handling a WPG_COLORMAP record, the parser reads a start index (i16) and number of colors (iNum16) from the file and reads palette data with: bRet &= (iNum16 == (int)fread(&ren->pPal[i16], sizeof(WPGColorRGB), iNum16, f)); The only bounds-related check is `if (i16 >= 0 && i16 <= iSize)`, where iSize is the WPG record size—not the palette capacity. There is no validation that i16 is less than 256 or that i16 + iNum16 does not exceed 256. A malicious WPG file can supply i16=256 and iNum16=264. That causes fread() to write 792 bytes starting at &pPal[256], while the palette buffer is only 768 bytes (256 entries × 3 bytes). This overflows into adjacent heap metadata and can crash Dia (SIGABRT / malloc corruption errors) or, depending on heap layout and exploit primitives, potentially lead to arbitrary code execution. Exploitation requires convincing a user to open a crafted WPG file via Dia's file dialog, command line, or file association. No special privileges are required to deliver the file to the victim. Affected component: WPG parser (plug-ins/wpg/wpg-import.c). Affected versions: all Dia versions containing this code path (reporter tested Dia 0.98+git20260221-1; issue present on upstream master as of 2026-08-21).
  • CVE-2026-77658: A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files. In objects/network/bus.c, bus_load() reads the number of bus handles from the file attribute "bus_handles" using attribute_num_data() without validating an upper bound: bus->num_handles = attribute_num_data(attr); When a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack: parallel = (real *)g_alloca(num_handles * sizeof(real)); perp = (real *)g_alloca(num_handles * sizeof(real)); Because num_handles is fully attacker-controlled via the project file, sufficiently large values (for example 262144 or higher) cause g_alloca() to consume more stack space than the default thread stack limit (typically 8 MB on Linux), resulting in stack overflow, SIGSEGV, and potential stack frame / return-address corruption. An attacker can embed a Bus object with an excessive bus_handles count in a malicious .dia file. Exploitation requires the victim to open the file in Dia (file dialog, command line, or file association) and trigger handle manipulation (moving a bus handle), which exercises the vulnerable code path. The identical g_alloca pattern is present in objects/Misc/tree.c (copied from bus.c) and is likely vulnerable to the same class of attack via Tree objects. Affected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21. Upstream report: https://gitlab.gnome.org/GNOME/dia/-/issues/581
Created: 2026-08-27 Last update: 2026-09-04 22:01
2 security issues in forky high

There are 2 open security issues in forky.

2 important issues:
  • CVE-2026-77652: A heap-based buffer overflow vulnerability exists in the Dia diagram editor WPG file format importer. In plug-ins/wpg/wpg-import.c, the WPG import renderer allocates a fixed palette with: ren->pPal = g_new0(WPGColorRGB, 256); When handling a WPG_COLORMAP record, the parser reads a start index (i16) and number of colors (iNum16) from the file and reads palette data with: bRet &= (iNum16 == (int)fread(&ren->pPal[i16], sizeof(WPGColorRGB), iNum16, f)); The only bounds-related check is `if (i16 >= 0 && i16 <= iSize)`, where iSize is the WPG record size—not the palette capacity. There is no validation that i16 is less than 256 or that i16 + iNum16 does not exceed 256. A malicious WPG file can supply i16=256 and iNum16=264. That causes fread() to write 792 bytes starting at &pPal[256], while the palette buffer is only 768 bytes (256 entries × 3 bytes). This overflows into adjacent heap metadata and can crash Dia (SIGABRT / malloc corruption errors) or, depending on heap layout and exploit primitives, potentially lead to arbitrary code execution. Exploitation requires convincing a user to open a crafted WPG file via Dia's file dialog, command line, or file association. No special privileges are required to deliver the file to the victim. Affected component: WPG parser (plug-ins/wpg/wpg-import.c). Affected versions: all Dia versions containing this code path (reporter tested Dia 0.98+git20260221-1; issue present on upstream master as of 2026-08-21).
  • CVE-2026-77658: A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files. In objects/network/bus.c, bus_load() reads the number of bus handles from the file attribute "bus_handles" using attribute_num_data() without validating an upper bound: bus->num_handles = attribute_num_data(attr); When a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack: parallel = (real *)g_alloca(num_handles * sizeof(real)); perp = (real *)g_alloca(num_handles * sizeof(real)); Because num_handles is fully attacker-controlled via the project file, sufficiently large values (for example 262144 or higher) cause g_alloca() to consume more stack space than the default thread stack limit (typically 8 MB on Linux), resulting in stack overflow, SIGSEGV, and potential stack frame / return-address corruption. An attacker can embed a Bus object with an excessive bus_handles count in a malicious .dia file. Exploitation requires the victim to open the file in Dia (file dialog, command line, or file association) and trigger handle manipulation (moving a bus handle), which exercises the vulnerable code path. The identical g_alloca pattern is present in objects/Misc/tree.c (copied from bus.c) and is likely vulnerable to the same class of attack via Tree objects. Affected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21. Upstream report: https://gitlab.gnome.org/GNOME/dia/-/issues/581
Created: 2026-08-27 Last update: 2026-09-04 22:01
2 security issues in bullseye high

There are 2 open security issues in bullseye.

2 important issues:
  • CVE-2026-77652: A heap-based buffer overflow vulnerability exists in the Dia diagram editor WPG file format importer. In plug-ins/wpg/wpg-import.c, the WPG import renderer allocates a fixed palette with: ren->pPal = g_new0(WPGColorRGB, 256); When handling a WPG_COLORMAP record, the parser reads a start index (i16) and number of colors (iNum16) from the file and reads palette data with: bRet &= (iNum16 == (int)fread(&ren->pPal[i16], sizeof(WPGColorRGB), iNum16, f)); The only bounds-related check is `if (i16 >= 0 && i16 <= iSize)`, where iSize is the WPG record size—not the palette capacity. There is no validation that i16 is less than 256 or that i16 + iNum16 does not exceed 256. A malicious WPG file can supply i16=256 and iNum16=264. That causes fread() to write 792 bytes starting at &pPal[256], while the palette buffer is only 768 bytes (256 entries × 3 bytes). This overflows into adjacent heap metadata and can crash Dia (SIGABRT / malloc corruption errors) or, depending on heap layout and exploit primitives, potentially lead to arbitrary code execution. Exploitation requires convincing a user to open a crafted WPG file via Dia's file dialog, command line, or file association. No special privileges are required to deliver the file to the victim. Affected component: WPG parser (plug-ins/wpg/wpg-import.c). Affected versions: all Dia versions containing this code path (reporter tested Dia 0.98+git20260221-1; issue present on upstream master as of 2026-08-21).
  • CVE-2026-77658: A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files. In objects/network/bus.c, bus_load() reads the number of bus handles from the file attribute "bus_handles" using attribute_num_data() without validating an upper bound: bus->num_handles = attribute_num_data(attr); When a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack: parallel = (real *)g_alloca(num_handles * sizeof(real)); perp = (real *)g_alloca(num_handles * sizeof(real)); Because num_handles is fully attacker-controlled via the project file, sufficiently large values (for example 262144 or higher) cause g_alloca() to consume more stack space than the default thread stack limit (typically 8 MB on Linux), resulting in stack overflow, SIGSEGV, and potential stack frame / return-address corruption. An attacker can embed a Bus object with an excessive bus_handles count in a malicious .dia file. Exploitation requires the victim to open the file in Dia (file dialog, command line, or file association) and trigger handle manipulation (moving a bus handle), which exercises the vulnerable code path. The identical g_alloca pattern is present in objects/Misc/tree.c (copied from bus.c) and is likely vulnerable to the same class of attack via Tree objects. Affected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21. Upstream report: https://gitlab.gnome.org/GNOME/dia/-/issues/581
Created: 2026-08-27 Last update: 2026-08-27 18:01
Depends on packages which need a new maintainer normal
The packages that dia depends on which need a new maintainer are:
  • dblatex (#942402)
    • Build-Depends: dblatex
  • docbook-xsl (#802370)
    • Build-Depends: docbook-xsl
Created: 2019-11-22 Last update: 2026-09-12 16:31
lintian reports 1 warning normal
Lintian reports 1 warning about this package. You should make the package lintian clean getting rid of them.
Created: 2026-07-23 Last update: 2026-07-23 10:30
2 low-priority security issues in trixie low

There are 2 open security issues in trixie.

2 issues left for the package maintainer to handle:
  • CVE-2026-77652: (needs triaging) A heap-based buffer overflow vulnerability exists in the Dia diagram editor WPG file format importer. In plug-ins/wpg/wpg-import.c, the WPG import renderer allocates a fixed palette with: ren->pPal = g_new0(WPGColorRGB, 256); When handling a WPG_COLORMAP record, the parser reads a start index (i16) and number of colors (iNum16) from the file and reads palette data with: bRet &= (iNum16 == (int)fread(&ren->pPal[i16], sizeof(WPGColorRGB), iNum16, f)); The only bounds-related check is `if (i16 >= 0 && i16 <= iSize)`, where iSize is the WPG record size—not the palette capacity. There is no validation that i16 is less than 256 or that i16 + iNum16 does not exceed 256. A malicious WPG file can supply i16=256 and iNum16=264. That causes fread() to write 792 bytes starting at &pPal[256], while the palette buffer is only 768 bytes (256 entries × 3 bytes). This overflows into adjacent heap metadata and can crash Dia (SIGABRT / malloc corruption errors) or, depending on heap layout and exploit primitives, potentially lead to arbitrary code execution. Exploitation requires convincing a user to open a crafted WPG file via Dia's file dialog, command line, or file association. No special privileges are required to deliver the file to the victim. Affected component: WPG parser (plug-ins/wpg/wpg-import.c). Affected versions: all Dia versions containing this code path (reporter tested Dia 0.98+git20260221-1; issue present on upstream master as of 2026-08-21).
  • CVE-2026-77658: (needs triaging) A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files. In objects/network/bus.c, bus_load() reads the number of bus handles from the file attribute "bus_handles" using attribute_num_data() without validating an upper bound: bus->num_handles = attribute_num_data(attr); When a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack: parallel = (real *)g_alloca(num_handles * sizeof(real)); perp = (real *)g_alloca(num_handles * sizeof(real)); Because num_handles is fully attacker-controlled via the project file, sufficiently large values (for example 262144 or higher) cause g_alloca() to consume more stack space than the default thread stack limit (typically 8 MB on Linux), resulting in stack overflow, SIGSEGV, and potential stack frame / return-address corruption. An attacker can embed a Bus object with an excessive bus_handles count in a malicious .dia file. Exploitation requires the victim to open the file in Dia (file dialog, command line, or file association) and trigger handle manipulation (moving a bus handle), which exercises the vulnerable code path. The identical g_alloca pattern is present in objects/Misc/tree.c (copied from bus.c) and is likely vulnerable to the same class of attack via Tree objects. Affected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21. Upstream report: https://gitlab.gnome.org/GNOME/dia/-/issues/581

You can find information about how to handle these issues in the security team's documentation.

Created: 2026-08-27 Last update: 2026-09-04 22:01
news
[rss feed]
  • [2026-07-26] dia 0.98+git20260221-3 MIGRATED to testing (Debian testing watch)
  • [2026-07-22] Accepted dia 0.98+git20260221-3 (source) into unstable (Philippe SWARTVAGHER)
  • [2026-06-06] dia 0.98+git20260221-2 MIGRATED to testing (Debian testing watch)
  • [2026-05-31] Accepted dia 0.98+git20260221-2 (source) into unstable (Philippe SWARTVAGHER)
  • [2026-02-26] dia 0.98+git20260221-1 MIGRATED to testing (Debian testing watch)
  • [2026-02-22] Accepted dia 0.98+git20260221-1 (source) into unstable (Philippe SWARTVAGHER)
  • [2025-09-14] dia 0.98+git20250827-2 MIGRATED to testing (Debian testing watch)
  • [2025-09-10] Accepted dia 0.98+git20250827-2 (source) into unstable (Philippe SWARTVAGHER)
  • [2025-09-09] Accepted dia 0.98+git20250827-1 (source) into unstable (Philippe SWARTVAGHER)
  • [2025-06-11] dia 0.98+git20250126-2 MIGRATED to testing (Debian testing watch)
  • [2025-06-01] Accepted dia 0.98+git20250126-2 (source) into unstable (Philippe SWARTVAGHER)
  • [2025-02-10] dia 0.98+git20250126-1 MIGRATED to testing (Debian testing watch)
  • [2025-02-04] Accepted dia 0.98+git20250126-1 (source) into unstable (Philippe SWARTVAGHER)
  • [2024-09-09] dia 0.98+git20240814-1 MIGRATED to testing (Debian testing watch)
  • [2024-09-03] Accepted dia 0.98+git20240814-1 (source) into unstable (Philippe SWARTVAGHER) (signed by: Andreas Rönnquist)
  • [2024-07-13] dia 0.98+git20240528-1 MIGRATED to testing (Debian testing watch)
  • [2024-07-07] Accepted dia 0.98+git20240528-1 (source) into unstable (Philippe SWARTVAGHER) (signed by: Alexandre Detiste)
  • [2024-02-25] dia 0.98+git20240130-1 MIGRATED to testing (Debian testing watch)
  • [2024-02-19] Accepted dia 0.98+git20240130-1 (source) into unstable (Philippe SWARTVAGHER) (signed by: Alexandre Detiste)
  • [2023-01-17] dia 0.97.3+git20220525-5 MIGRATED to testing (Debian testing watch)
  • [2023-01-11] Accepted dia 0.97.3+git20220525-5 (source) into unstable (Philippe SWARTVAGHER) (signed by: bage@debian.org)
  • [2022-09-26] dia 0.97.3+git20220525-4 MIGRATED to testing (Debian testing watch)
  • [2022-09-21] Accepted dia 0.97.3+git20220525-4 (source) into unstable (Philippe SWARTVAGHER) (signed by: Adam Borowski)
  • [2022-08-22] dia 0.97.3+git20220525-3 MIGRATED to testing (Debian testing watch)
  • [2022-08-16] Accepted dia 0.97.3+git20220525-3 (source) into unstable (Philippe SWARTVAGHER) (signed by: Adam Borowski)
  • [2022-06-07] dia 0.97.3+git20220525-2 MIGRATED to testing (Debian testing watch)
  • [2022-06-02] Accepted dia 0.97.3+git20220525-2 (source) into unstable (Philippe SWARTVAGHER) (signed by: bage@debian.org)
  • [2022-05-30] Accepted dia 0.97.3+git20220525-1 (source) into unstable (Philippe SWARTVAGHER) (signed by: bage@debian.org)
  • [2020-02-26] dia 0.97.3+git20160930-9 MIGRATED to testing (Debian testing watch)
  • [2020-02-20] Accepted dia 0.97.3+git20160930-9 (source) into unstable (Rodrigo Carvalho) (signed by: Adam Borowski)
  • 1
  • 2
bugs [bug history graph]
  • all: 38
  • RC: 0
  • I&N: 24
  • M&W: 14
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian (0, 1)
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • screenshots
  • l10n (-, 72)
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 0.98+git20260221-3
  • 39 bugs

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing