CVE-2023-26112
Medium · 5.9CVSS
5.9
EPSS
1.3%
Published
Apr 3, 2023
CISA due date
—
Cloudanix analysis
A flaw in a configuration library can let a specially crafted setting file make the application stop responding, but only if someone with access to server files deliberately plants the bad setting.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
ReDoS condition in the validate function triggered by the regex (.+?)\((.*)\) when processing crafted input values.
Why it matters to the business
An attacker who can influence a server-side configuration file can cause the application process to consume excessive CPU and become unresponsive, disrupting service availability.
How an attack unfolds
An attacker supplies a malicious string matching the vulnerable regex pattern into a configuration file that a developer places on the server; when the configobj validate function processes that file the regex engine enters catastrophic backtracking and the process hangs until timeout or manual intervention.
How to fix it
Upgrade com.liferay.portal/release.portal.bom to version 7.4.3.53 or later; if an upgrade is not immediately possible, remove or sanitize any untrusted values from configuration files before they reach the validate function.
How to confirm the fix worked
Confirm the installed package version is 7.4.3.53 or newer; test the validate function with known benign and previously crashing inputs in a non-production environment to verify the regex no longer hangs.
Typical attack path
- Identify or obtain write access to a server-side configuration file consumed by configobj
- Insert a crafted value that triggers the (.+?)\((.*)\) regex
- Trigger application startup or configuration reload that calls validate
- Observe sustained high CPU and service unavailability
How to detect it
Monitor process CPU usage and request latency spikes immediately after configuration reloads or application restarts; inspect server configuration files for unusual strings containing nested parentheses or long repetitive patterns.
What your security team should do
- Apply the 7.4.3.53 update to the affected BOM within the next maintenance window
- Audit all server-side configuration files for values that could reach the vulnerable regex
- Add the package to the dependency monitoring policy to prevent future vulnerable versions
- Review application startup and configuration reload paths for excessive CPU alerts
The record
All versions of the package configobj are vulnerable to Regular Expression Denial of Service (ReDoS) via the validate function, using (.+?)\((.*)\). **Note:** This is only exploitable in the case of a developer, putting the offending value in a server side configuration file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | configobj | 0 | No fix |
| PyPI | configobj | 0 | 5.0.9 |
| Chainguard | py3-configobj | 0 | 0 |
| Chainguard | py3-supported-configobj | 0 | 0 |
| Chainguard | py3.10-configobj | 0 | 0 |
| Chainguard | py3.11-configobj | 0 | 0 |
| Chainguard | py3.12-configobj | 0 | 0 |
| Chainguard | py3.13-configobj | 0 | 0 |
| Debian:11 | configobj | 0 | No fix |
| Debian:12 | configobj | 0 | No fix |
| Debian:13 | configobj | 0 | 5.0.8-2 |
| SUSE:Linux Enterprise Micro 5.4 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| SUSE:Linux Enterprise Module for Public Cloud 12 | python-configobj | 0 | 5.0.6-20.8.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | python-configobj | 0 | 5.0.6-20.8.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | python-configobj | 0 | 5.0.6-20.8.1 |
| SUSE:Manager Proxy 4.2 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| SUSE:Manager Server 4.2 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| Ubuntu:20.04:LTS | configobj | 0 | No fix |
| Ubuntu:20.04:LTS | configobj | 0 | 5.0.6-4ubuntu0.1 |
| Ubuntu:22.04:LTS | configobj | 0 | No fix |
| Ubuntu:22.04:LTS | configobj | 0 | 5.0.6-5ubuntu0.1 |
| Ubuntu:24.04:LTS | configobj | 0 | No fix |
| Ubuntu:24.04:LTS | configobj | 0 | 5.0.8-2 |
| Ubuntu:24.10 | configobj | 0 | 5.0.8-3 |
| Ubuntu:Pro:14.04:LTS | configobj | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | configobj | 0 | 4.7.2+ds-5ubuntu0.1~esm1 |
| Ubuntu:Pro:16.04:LTS | configobj | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | configobj | 0 | 5.0.6-2ubuntu0.16.04.1~esm1 |
| Ubuntu:Pro:18.04:LTS | configobj | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | configobj | 0 | 5.0.6-2ubuntu0.18.04.1~esm1 |
| Wolfi | py3-configobj | 0 | 0 |
| Wolfi | py3-supported-configobj | 0 | 0 |
| Wolfi | py3.10-configobj | 0 | 0 |
| Wolfi | py3.11-configobj | 0 | 0 |
| Wolfi | py3.12-configobj | 0 | 0 |
| Wolfi | py3.13-configobj | 0 | 0 |
| openSUSE:Leap 15.4 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| openSUSE:Leap 15.5 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
| openSUSE:Leap Micro 5.4 | python-configobj | 0 | 5.0.6-150000.3.3.1 |
Related vulnerabilities
- CVE-2026-112901 Pillow is a Python imaging library. CWE-1333
- CVE-2026-106454 Twisted is an event-based framework for internet applications, supporting Python 3.6+. CWE-1333
- CVE-2026-77387 geopy is a geocoding library for Python. CWE-1333
- CVE-2026-102990 basic-ftp is an FTP client for Node.js. CWE-1333
- CVE-2026-102473 A flaw was found in dash. CWE-1333
- CVE-2026-102270 PyJWT is a Python implementation of JSON Web Token standards. CWE-1333
- CVE-2026-101906 Axios is a promise-based HTTP client for the browser and Node.js. CWE-1333
- CVE-2026-101903 Axios is a promise-based HTTP client for the browser and Node.js. CWE-1333