Multiple stack-based buffer overflows in the canoniseFileName function in os/pl-os.c in…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- — Not recorded in CVSS 2.0
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- Partial · Partial · Partial
- Fix status
- Will not fix Red Hat: no fix planned
Attack profile from CVSS 2.0 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-119 and the CVSS impact.
Summary
Multiple stack-based buffer overflows in the canoniseFileName function in os/pl-os.c in SWI-Prolog before 6.2.5 and 6.3.x before 6.3.7 allow remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted filename.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | — | all versions | — | No fix listed | CNA |
- — Vendor— Affected all versions Fixed in — No fix listed CNA
CPE configurations NVD · 39
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:swi-prolog:swi-prolog:*:*:*:*:*:*:*:* | up to 6.2.4 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.50:*:*:*:*:*:*:* | 5.6.50 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.51:*:*:*:*:*:*:* | 5.6.51 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.52:*:*:*:*:*:*:* | 5.6.52 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.53:*:*:*:*:*:*:* | 5.6.53 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.54:*:*:*:*:*:*:* | 5.6.54 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.55:*:*:*:*:*:*:* | 5.6.55 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.56:*:*:*:*:*:*:* | 5.6.56 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.57:*:*:*:*:*:*:* | 5.6.57 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.58:*:*:*:*:*:*:* | 5.6.58 | Vulnerable | Swi-prolog |
- cpe:2.3:a:swi-prolog:swi-prolog:*:*:*:*:*:*:*:* Versions up to 6.2.4 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.50:*:*:*:*:*:*:* Versions 5.6.50 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.51:*:*:*:*:*:*:* Versions 5.6.51 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.52:*:*:*:*:*:*:* Versions 5.6.52 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.53:*:*:*:*:*:*:* Versions 5.6.53 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.54:*:*:*:*:*:*:* Versions 5.6.54 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.55:*:*:*:*:*:*:* Versions 5.6.55 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.56:*:*:*:*:*:*:* Versions 5.6.56 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.57:*:*:*:*:*:*:* Versions 5.6.57 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.58:*:*:*:*:*:*:* Versions 5.6.58 Vulnerable ·Swi-prolog
Show 29 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.59:*:*:*:*:*:*:* | 5.6.59 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.61:*:*:*:*:*:*:* | 5.6.61 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.62:*:*:*:*:*:*:* | 5.6.62 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.63:*:*:*:*:*:*:* | 5.6.63 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.6.64:*:*:*:*:*:*:* | 5.6.64 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.8.0:*:*:*:*:*:*:* | 5.8.0 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.8.1:*:*:*:*:*:*:* | 5.8.1 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.8.2:*:*:*:*:*:*:* | 5.8.2 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.8.3:*:*:*:*:*:*:* | 5.8.3 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.10.0:*:*:*:*:*:*:* | 5.10.0 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.10.1:*:*:*:*:*:*:* | 5.10.1 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.10.2:*:*:*:*:*:*:* | 5.10.2 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.10.3:*:*:*:*:*:*:* | 5.10.3 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.10.4:*:*:*:*:*:*:* | 5.10.4 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:5.10.5:*:*:*:*:*:*:* | 5.10.5 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.0.0:*:*:*:*:*:*:* | 6.0.0 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.0.1:*:*:*:*:*:*:* | 6.0.1 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.0.2:*:*:*:*:*:*:* | 6.0.2 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.2.0:*:*:*:*:*:*:* | 6.2.0 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.2.1:*:*:*:*:*:*:* | 6.2.1 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.2.2:*:*:*:*:*:*:* | 6.2.2 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.2.3:*:*:*:*:*:*:* | 6.2.3 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.0:*:*:*:*:*:*:* | 6.3.0 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.1:*:*:*:*:*:*:* | 6.3.1 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.2:*:*:*:*:*:*:* | 6.3.2 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.3:*:*:*:*:*:*:* | 6.3.3 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.4:*:*:*:*:*:*:* | 6.3.4 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.5:*:*:*:*:*:*:* | 6.3.5 | Vulnerable | Swi-prolog |
| cpe:2.3:a:swi-prolog:swi-prolog:6.3.6:*:*:*:*:*:*:* | 6.3.6 | Vulnerable | Swi-prolog |
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.59:*:*:*:*:*:*:* Versions 5.6.59 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.61:*:*:*:*:*:*:* Versions 5.6.61 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.62:*:*:*:*:*:*:* Versions 5.6.62 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.63:*:*:*:*:*:*:* Versions 5.6.63 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.6.64:*:*:*:*:*:*:* Versions 5.6.64 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.8.0:*:*:*:*:*:*:* Versions 5.8.0 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.8.1:*:*:*:*:*:*:* Versions 5.8.1 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.8.2:*:*:*:*:*:*:* Versions 5.8.2 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.8.3:*:*:*:*:*:*:* Versions 5.8.3 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.10.0:*:*:*:*:*:*:* Versions 5.10.0 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.10.1:*:*:*:*:*:*:* Versions 5.10.1 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.10.2:*:*:*:*:*:*:* Versions 5.10.2 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.10.3:*:*:*:*:*:*:* Versions 5.10.3 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.10.4:*:*:*:*:*:*:* Versions 5.10.4 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:5.10.5:*:*:*:*:*:*:* Versions 5.10.5 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.0.0:*:*:*:*:*:*:* Versions 6.0.0 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.0.1:*:*:*:*:*:*:* Versions 6.0.1 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.0.2:*:*:*:*:*:*:* Versions 6.0.2 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.2.0:*:*:*:*:*:*:* Versions 6.2.0 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.2.1:*:*:*:*:*:*:* Versions 6.2.1 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.2.2:*:*:*:*:*:*:* Versions 6.2.2 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.2.3:*:*:*:*:*:*:* Versions 6.2.3 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.0:*:*:*:*:*:*:* Versions 6.3.0 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.1:*:*:*:*:*:*:* Versions 6.3.1 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.2:*:*:*:*:*:*:* Versions 6.3.2 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.3:*:*:*:*:*:*:* Versions 6.3.3 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.4:*:*:*:*:*:*:* Versions 6.3.4 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.5:*:*:*:*:*:*:* Versions 6.3.5 Vulnerable ·Swi-prolog
- cpe:2.3:a:swi-prolog:swi-prolog:6.3.6:*:*:*:*:*:*:* Versions 6.3.6 Vulnerable ·Swi-prolog
Remediation
No fixed version listed by the sources yet.
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Will not fix |
Timeline
- 2026-10-02 Threatist record created from CVE-2012-6089
- 2026-10-03 Alias added: GHSA-mvxf-4rwc-h287
References
More Swi-prolog vulnerabilities
- TI-2017-12801 library/www_browser.pl in SWI-Prolog 7.2.3 does not validate strings before launching the… CVSS 3.0HIGH 8.8
- TI-2012-05054 Multiple stack-based buffer overflows in the expand function in os/pl-glob.c in… CVSS 2.0HIGH 7.5
- TI-2011-02549 The LZW decompressor in the LWZReadByte function in giftoppm.c in the David Koblas GIF… CVSS 2.0MEDIUM 5.1
Sources
- CVE-2012-6089 · CVE Program
- CVE-2012-6089 · NVD
- FIRST EPSS
- GHSA-mvxf-4rwc-h287 · GitHub Advisory Database · CC BY 4.0
- CVE-2012-6089 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences