CVE-2022-45587
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
Feb 15, 2023
CISA due date
—
Cloudanix analysis
A local flaw in PDF handling code used by Centreon can let someone who already has access to the system crash the application and interrupt monitoring services.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack-based buffer overflow in gmalloc within goo/gmem.cc of xpdf 4.04 causes memory corruption and process termination when processing crafted input.
Why it matters to the business
Local denial-of-service condition can interrupt Centreon services that rely on the embedded PDF processing component, leading to availability loss for monitoring and reporting workflows.
How an attack unfolds
An attacker with local access supplies a malicious PDF or input file that reaches gmalloc; the overflow corrupts the stack and crashes the process. No remote unauthenticated vector exists and the issue has been public for over three years with publicly available proof-of-concept code.
How to fix it
Upgrade Centreon GIT to commit 2dd129a167398b1c65a62f4e4e2ef7717bffe41b or later; rebuild and redeploy any affected packages that embed the vulnerable xpdf code.
How to confirm the fix worked
Confirm the running binary or library no longer contains the vulnerable gmalloc implementation by checking the commit hash or performing a source-level diff against 2dd129a; re-test with known triggering input to verify absence of crash.
Typical attack path
- Obtain local shell or user session on a system running the vulnerable Centreon component
- Place or trigger a specially crafted PDF file that Centreon processes via xpdf
- Trigger the gmalloc call path to overflow the stack
- Observe process crash and resulting service interruption
How to detect it
Review system and application logs for unexpected xpdf or Centreon process terminations, segmentation faults, or stack overflow signals around the time of reported service disruption.
What your security team should do
- Apply the referenced commit immediately on all Centreon GIT deployments
- Harden local access controls and restrict PDF processing privileges where possible
- Monitor for process crashes in xpdf-related components while the fix is deployed
The record
Stack overflow vulnerability in function gmalloc in goo/gmem.cc in xpdf 4.04, allows local attackers to cause a denial of service.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Mageia:9 | xpdf | 0 | 4.05-1.mga9 |
| Ubuntu:16.04:LTS | ipe | 0 | No fix |
| Ubuntu:18.04:LTS | ipe | 0 | No fix |
| Ubuntu:20.04:LTS | ipe | 0 | No fix |
| Ubuntu:22.04:LTS | ipe | 0 | No fix |
| Ubuntu:24.04:LTS | ipe | 0 | No fix |
| Ubuntu:24.10 | ipe | 0 | No fix |
| Ubuntu:25.04 | ipe | 0 | No fix |
| Ubuntu:25.10 | ipe | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ipe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | ipe | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | ipe | 0 | No fix |
Related vulnerabilities
- CVE-2023-3436 Xpdf 4.04 will deadlock on a PDF object stream whose "Length" field is itself in another… Also affects xpdf
- CVE-2023-3044 An excessively large PDF page size (found in fuzz testing, unlikely in normal PDF files)… Also affects xpdf
- CVE-2023-2664 In Xpdf 4.04 (and earlier), a PDF object loop in the embedded file tree leads to infinite… Also affects xpdf
- CVE-2023-2663 In Xpdf 4.04 (and earlier), a PDF object loop in the page label tree leads to infinite… Also affects xpdf
- CVE-2023-2662 In Xpdf 4.04 (and earlier), a bad color space object in the input PDF file can cause a… Also affects xpdf
- CVE-2022-45586 Stack overflow vulnerability in function Dict::find in xpdf/Dict.cc in xpdf 4.04, allows… Also affects xpdf
- CVE-2022-43071 A stack overflow in the Catalog::readPageLabelTree2(Object*) function of XPDF v4.04… Also affects xpdf
- CVE-2022-43295 XPDF v4.04 was discovered to contain a stack overflow via the function FileStream::copy()… Also affects xpdf