Cloudanix VulnDB

CVE-2022-33980

Critical · 9.8

CVSS

9.8

EPSS

44.6%

Published

Jul 6, 2022

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A configuration handling component in some software can be tricked into running attacker-chosen commands or reaching out to remote sites when it processes untrusted settings, potentially giving outsiders full control of the system.

Chainable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability enables arbitrary code execution and remote server contact by evaluating untrusted configuration properties through the script, dns, and url interpolators in Apache Commons Configuration versions 2.4-2.7.

Why it matters to the business

Successful exploitation can result in complete system takeover, data exfiltration, or unintended external connections, increasing risk of breaches and operational disruption for applications relying on the library; the moderate-to-high exploit probability warrants prioritized attention even without confirmed ransomware campaigns.

How an attack unfolds

An attacker supplies a malicious configuration containing expressions such as ${script:java.lang.Runtime.getRuntime().exec(...)} or ${url:http://...}, which the vulnerable interpolators evaluate during property loading, executing code or fetching remote content without authentication.

How to fix it

Upgrade Apache Commons Configuration to 2.8.0 or later, which disables the script, dns, and url interpolators by default; for affected packages such as wordpress/wordpress-develop, apply the fix from commit 6267f855852d75daa11fb49c35fec0844e43bdc8.

How to confirm the fix worked

Verify the library version is 2.8.0 or newer, confirm that custom Lookup instances for script/dns/url are not re-enabled, and test that untrusted configuration values no longer trigger code execution or external requests.

Typical attack path

  1. Identify an application using Apache Commons Configuration 2.4 through 2.7
  2. Craft or inject a configuration file or property containing dangerous interpolation syntax
  3. Trigger configuration parsing or loading in the target application
  4. Achieve code execution or force contact with attacker-controlled servers

How to detect it

Review application logs for evidence of script engine usage during configuration loading, unexpected DNS resolutions, or outbound URL fetches triggered by property interpolation; examine configuration files and property sources for suspicious ${script:}, ${dns:}, or ${url:} patterns.

What your security team should do

  • Immediately inventory all applications for use of Apache Commons Configuration 2.4-2.7 and prioritize upgrades based on exposure to untrusted configuration sources
  • Apply the fixed version 2.8.0 (or the listed commit for wordpress/wordpress-develop) across the environment
  • Review and restrict configuration sources to trusted inputs only
  • Monitor EPSS trends and any emerging exploit code for increased urgency

The record

Apache Commons Configuration performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format for interpolation is "${prefix:name}", where "prefix" is used to locate an instance of org.apache.commons.configuration2.interpol.Lookup that performs the interpolation. Starting with version 2.4 and continuing through 2.7, the set of default Lookup instances included interpolators that could result in arbitrary code execution or contact with remote servers. These lookups are: - "script" - execute expressions using the JVM script execution engine (javax.script) - "dns" - resolve dns records - "url" - load values from urls, including from remote servers Applications using the interpolation defaults in the affected versions may be vulnerable to remote code execution or unintentional contact with remote servers if untrusted configuration values are used. Users are recommended to upgrade to Apache Commons Configuration 2.8.0, which disables the problematic interpolators by default.

Affected packages

Ecosystem Package Introduced Fixed
Maven org.apache.commons:commons-configuration2 2.4 2.8.0
Debian:11 commons-configuration2 0 2.8.0-1~deb11u1
Debian:12 commons-configuration2 0 2.8.0-1
Debian:13 commons-configuration2 0 2.8.0-1
Red Hat:satellite:6.13::el8 ansible-collection-redhat-satellite 0 0:3.9.0-2.el8sat
Red Hat:satellite:6.13::el8 ansible-collection-redhat-satellite_operations 0 0:1.3.0-2.el8sat
Red Hat:satellite:6.13::el8 ansible-lint 0 0:5.0.8-4.el8pc
Red Hat:satellite:6.13::el8 ansible-runner 0 0:2.2.1-3.el8sat
Red Hat:satellite:6.13::el8 ansiblerole-foreman_scap_client 0 0:0.2.0-2.el8sat
Red Hat:satellite:6.13::el8 ansiblerole-insights-client 0 0:1.7.1-2.el8sat
Red Hat:satellite:6.13::el8 candlepin 0 0:4.2.13-1.el8sat
Red Hat:satellite:6.13::el8 candlepin-selinux 0 0:4.2.13-1.el8sat
Red Hat:satellite:6.13::el8 cjson 0 0:1.7.14-5.el8sat
Red Hat:satellite:6.13::el8 cjson-debuginfo 0 0:1.7.14-5.el8sat
Red Hat:satellite:6.13::el8 cjson-debugsource 0 0:1.7.14-5.el8sat
Red Hat:satellite:6.13::el8 createrepo_c 0 0:0.20.1-1.el8pc
Red Hat:satellite:6.13::el8 createrepo_c-debuginfo 0 0:0.20.1-1.el8pc
Red Hat:satellite:6.13::el8 createrepo_c-debugsource 0 0:0.20.1-1.el8pc
Red Hat:satellite:6.13::el8 createrepo_c-libs 0 0:0.20.1-1.el8pc
Red Hat:satellite:6.13::el8 createrepo_c-libs-debuginfo 0 0:0.20.1-1.el8pc
Red Hat:satellite:6.13::el8 dynflow-utils 0 0:1.6.3-1.el8sat
Red Hat:satellite:6.13::el8 foreman 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-bootloaders-redhat 0 0:202102220000-1.el8sat
Red Hat:satellite:6.13::el8 foreman-bootloaders-redhat-tftpboot 0 0:202102220000-1.el8sat
Red Hat:satellite:6.13::el8 foreman-cli 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-debug 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-discovery-image 0 1:4.1.0-10.el8sat
Red Hat:satellite:6.13::el8 foreman-discovery-image-service 0 0:1.0.0-4.1.el8sat
Red Hat:satellite:6.13::el8 foreman-discovery-image-service-tui 0 0:1.0.0-4.1.el8sat
Red Hat:satellite:6.13::el8 foreman-dynflow-sidekiq 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-ec2 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-installer 0 1:3.5.2.1-1.el8sat
Red Hat:satellite:6.13::el8 foreman-installer-katello 0 1:3.5.2.1-1.el8sat
Red Hat:satellite:6.13::el8 foreman-journald 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-libvirt 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-obsolete-packages 0 0:1.1-1.el8sat
Red Hat:satellite:6.13::el8 foreman-openstack 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-ovirt 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-postgresql 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-proxy 0 0:3.5.1-1.el8sat
Red Hat:satellite:6.13::el8 foreman-proxy-content 0 0:4.7.0-1.el8sat
Red Hat:satellite:6.13::el8 foreman-proxy-journald 0 0:3.5.1-1.el8sat
Red Hat:satellite:6.13::el8 foreman-selinux 0 0:3.5.1-1.el8sat
Red Hat:satellite:6.13::el8 foreman-service 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-telemetry 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 foreman-vmware 0 0:3.5.1.14-1.el8sat
Red Hat:satellite:6.13::el8 katello 0 0:4.7.0-1.el8sat
Red Hat:satellite:6.13::el8 katello-certs-tools 0 0:2.9.0-1.el8sat
Red Hat:satellite:6.13::el8 katello-client-bootstrap 0 0:1.7.9-1.el8sat
Red Hat:satellite:6.13::el8 katello-common 0 0:4.7.0-1.el8sat
Red Hat:satellite:6.13::el8 katello-debug 0 0:4.7.0-1.el8sat
Red Hat:satellite:6.13::el8 katello-selinux 0 0:4.0.2-2.el8sat
Red Hat:satellite:6.13::el8 libcomps 0 0:0.1.18-4.el8pc
Red Hat:satellite:6.13::el8 libcomps-debuginfo 0 0:0.1.18-4.el8pc
Red Hat:satellite:6.13::el8 libcomps-debugsource 0 0:0.1.18-4.el8pc
Red Hat:satellite:6.13::el8 libdb-cxx 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-cxx-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-debugsource 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-java-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-sql-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-sql-devel-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-tcl-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libdb-utils-debuginfo 0 0:5.3.28-42.el8_4
Red Hat:satellite:6.13::el8 libsodium 0 0:1.0.17-3.el8sat
Red Hat:satellite:6.13::el8 libsodium-debuginfo 0 0:1.0.17-3.el8sat
Red Hat:satellite:6.13::el8 libsodium-debugsource 0 0:1.0.17-3.el8sat
Red Hat:satellite:6.13::el8 libsolv 0 0:0.7.22-4.el8pc
Red Hat:satellite:6.13::el8 libsolv-debuginfo 0 0:0.7.22-4.el8pc
Red Hat:satellite:6.13::el8 libsolv-debugsource 0 0:0.7.22-4.el8pc
Red Hat:satellite:6.13::el8 libsolv-demo-debuginfo 0 0:0.7.22-4.el8pc
Red Hat:satellite:6.13::el8 libsolv-tools-debuginfo 0 0:0.7.22-4.el8pc
Red Hat:satellite:6.13::el8 libwebsockets 0 0:2.4.2-2.el8
Red Hat:satellite:6.13::el8 libwebsockets-debuginfo 0 0:2.4.2-2.el8
Red Hat:satellite:6.13::el8 libwebsockets-debugsource 0 0:2.4.2-2.el8
Red Hat:satellite:6.13::el8 libwebsockets-tests-debuginfo 0 0:2.4.2-2.el8
Red Hat:satellite:6.13::el8 mosquitto 0 0:2.0.14-1.el8sat
Red Hat:satellite:6.13::el8 mosquitto-debuginfo 0 0:2.0.14-1.el8sat
Red Hat:satellite:6.13::el8 mosquitto-debugsource 0 0:2.0.14-1.el8sat
Red Hat:satellite:6.13::el8 postgresql-evr 0 0:0.0.2-1.el8sat
Red Hat:satellite:6.13::el8 pulpcore-selinux 0 0:1.3.2-1.el8pc
Red Hat:satellite:6.13::el8 puppet-agent 0 0:7.12.1-1.el8sat
Red Hat:satellite:6.13::el8 puppet-agent-oauth 0 0:0.5.10-1.el8sat
Red Hat:satellite:6.13::el8 puppet-foreman_scap_client 0 0:0.4.0-1.el8sat
Red Hat:satellite:6.13::el8 puppetlabs-stdlib 0 0:5.2.0-1.el8sat
Red Hat:satellite:6.13::el8 puppetserver 0 0:7.9.3-1.el8sat
Red Hat:satellite:6.13::el8 python-aiodns 0 0:3.0.0-3.el8pc
Red Hat:satellite:6.13::el8 python-aiofiles 0 0:22.1.0-1.el8pc
Red Hat:satellite:6.13::el8 python-aiohttp 0 0:3.8.1-3.el8pc
Red Hat:satellite:6.13::el8 python-aiohttp-debugsource 0 0:3.8.1-3.el8pc
Red Hat:satellite:6.13::el8 python-aiohttp-xmlrpc 0 0:1.5.0-2.el8pc
Red Hat:satellite:6.13::el8 python-aioredis 0 0:2.0.1-2.el8pc
Red Hat:satellite:6.13::el8 python-aiosignal 0 0:1.2.0-2.el8pc
Red Hat:satellite:6.13::el8 python-ansible-builder 0 0:1.0.1-4.el8pc
Red Hat:satellite:6.13::el8 python-asgiref 0 0:3.5.2-1.el8pc
Red Hat:satellite:6.13::el8 python-async-lru 0 0:1.0.3-1.el8pc
Red Hat:satellite:6.13::el8 python-async-timeout 0 0:4.0.2-2.el8pc
Red Hat:satellite:6.13::el8 python-asyncio-throttle 0 0:1.0.2-3.el8pc
Red Hat:satellite:6.13::el8 python-attrs 0 0:21.4.0-2.el8pc
Red Hat:satellite:6.13::el8 python-backoff 0 0:2.1.2-1.el8pc
Red Hat:satellite:6.13::el8 python-bindep 0 0:2.11.0-2.el8pc
Red Hat:satellite:6.13::el8 python-bleach 0 0:3.3.1-2.el8pc
Red Hat:satellite:6.13::el8 python-bleach-allowlist 0 0:1.0.3-3.el8pc
Red Hat:satellite:6.13::el8 python-bracex 0 0:2.2.1-2.el8pc
Red Hat:satellite:6.13::el8 python-brotli 0 0:1.0.9-2.el8pc
Red Hat:satellite:6.13::el8 python-brotli-debugsource 0 0:1.0.9-2.el8pc
Red Hat:satellite:6.13::el8 python-cchardet 0 0:2.1.7-4.el8pc
Red Hat:satellite:6.13::el8 python-cchardet-debugsource 0 0:2.1.7-4.el8pc
Red Hat:satellite:6.13::el8 python-certifi 0 0:2020.6.20-3.el8pc
Red Hat:satellite:6.13::el8 python-cffi 0 0:1.15.1-1.el8pc
Red Hat:satellite:6.13::el8 python-cffi-debugsource 0 0:1.15.1-1.el8pc
Red Hat:satellite:6.13::el8 python-chardet 0 0:5.0.0-1.el8pc
Red Hat:satellite:6.13::el8 python-charset-normalizer 0 0:2.1.1-1.el8pc
Red Hat:satellite:6.13::el8 python-click 0 0:8.1.3-1.el8pc
Red Hat:satellite:6.13::el8 python-click-shell 0 0:2.1-3.el8pc
Red Hat:satellite:6.13::el8 python-colorama 0 0:0.4.4-3.el8pc
Red Hat:satellite:6.13::el8 python-commonmark 0 0:0.9.1-5.el8pc
Red Hat:satellite:6.13::el8 python-contextlib2 0 0:21.6.0-3.el8pc
Red Hat:satellite:6.13::el8 python-cryptography 0 0:3.4.8-1.el8pc
Red Hat:satellite:6.13::el8 python-cryptography-debugsource 0 0:3.4.8-1.el8pc
Red Hat:satellite:6.13::el8 python-daemon 0 0:2.3.1-1.1.el8sat
Red Hat:satellite:6.13::el8 python-dataclasses 0 0:0.8-3.el8pc
Red Hat:satellite:6.13::el8 python-dateutil 0 0:2.8.2-2.el8pc
Red Hat:satellite:6.13::el8 python-debian 0 0:0.1.43-2.el8pc
Red Hat:satellite:6.13::el8 python-defusedxml 0 0:0.7.1-3.el8pc
Red Hat:satellite:6.13::el8 python-deprecated 0 0:1.2.13-1.el8pc
Red Hat:satellite:6.13::el8 python-diff-match-patch 0 0:20200713-3.el8pc
Red Hat:satellite:6.13::el8 python-distro 0 0:1.7.0-1.el8pc
Red Hat:satellite:6.13::el8 python-django 0 0:3.2.18-1.el8pc
Red Hat:satellite:6.13::el8 python-django-currentuser 0 0:0.5.3-5.el8pc
Red Hat:satellite:6.13::el8 python-django-filter 0 0:22.1-2.el8pc
Red Hat:satellite:6.13::el8 python-django-guid 0 0:3.3.0-1.el8pc
Red Hat:satellite:6.13::el8 python-django-import-export 0 0:2.8.0-1.el8pc
Red Hat:satellite:6.13::el8 python-django-lifecycle 0 0:1.0.0-1.el8pc
Red Hat:satellite:6.13::el8 python-django-readonly-field 0 0:1.1.1-3.el8pc
Red Hat:satellite:6.13::el8 python-djangorestframework 0 0:3.13.1-2.el8pc
Red Hat:satellite:6.13::el8 python-djangorestframework-queryfields 0 0:1.0.0-5.el8pc
Red Hat:satellite:6.13::el8 python-docutils 0 0:0.19-1.1.el8sat
Red Hat:satellite:6.13::el8 python-drf-access-policy 0 0:1.1.2-1.el8pc
Red Hat:satellite:6.13::el8 python-drf-nested-routers 0 0:0.93.4-3.el8pc
Red Hat:satellite:6.13::el8 python-drf-spectacular 0 0:0.23.1-1.el8pc
Red Hat:satellite:6.13::el8 python-dynaconf 0 0:3.1.9-1.el8pc
Red Hat:satellite:6.13::el8 python-ecdsa 0 0:0.14.1-2.el8pc
Red Hat:satellite:6.13::el8 python-enrich 0 0:1.2.6-5.el8pc
Red Hat:satellite:6.13::el8 python-et-xmlfile 0 0:1.1.0-2.el8pc
Red Hat:satellite:6.13::el8 python-flake8 0 0:3.9.2-5.el8pc
Red Hat:satellite:6.13::el8 python-frozenlist 0 0:1.3.0-2.el8pc
Red Hat:satellite:6.13::el8 python-frozenlist-debugsource 0 0:1.3.0-2.el8pc
Red Hat:satellite:6.13::el8 python-future 0 0:0.18.2-5.el8pc
Red Hat:satellite:6.13::el8 python-galaxy-importer 0 0:0.4.5-1.el8pc
Red Hat:satellite:6.13::el8 python-gitdb 0 0:4.0.9-2.el8pc
Red Hat:satellite:6.13::el8 python-gitpython 0 0:3.1.26-3.el8pc
Red Hat:satellite:6.13::el8 python-gnupg 0 0:0.5.0-1.el8pc
Red Hat:satellite:6.13::el8 python-gunicorn 0 0:20.1.0-5.el8pc
Red Hat:satellite:6.13::el8 python-idna 0 0:3.3-2.el8pc
Red Hat:satellite:6.13::el8 python-idna-ssl 0 0:1.1.0-5.el8pc
Red Hat:satellite:6.13::el8 python-importlib-metadata 0 0:4.10.1-2.el8pc
Red Hat:satellite:6.13::el8 python-inflection 0 0:0.5.1-3.el8pc
Red Hat:satellite:6.13::el8 python-iniparse 0 0:0.4-35.el8pc
Red Hat:satellite:6.13::el8 python-jinja2 0 0:3.1.2-1.el8pc
Red Hat:satellite:6.13::el8 python-jsonschema 0 0:4.9.1-1.el8pc
Red Hat:satellite:6.13::el8 python-lockfile 0 0:0.12.2-1.el8sat
Red Hat:satellite:6.13::el8 python-lxml 0 0:4.7.1-2.el8pc
Red Hat:satellite:6.13::el8 python-lxml-debugsource 0 0:4.7.1-2.el8pc
Red Hat:satellite:6.13::el8 python-markdown 0 0:3.3.6-3.el8pc
Red Hat:satellite:6.13::el8 python-markuppy 0 0:1.14-3.el8pc
Red Hat:satellite:6.13::el8 python-markupsafe 0 0:2.0.1-3.el8pc
Red Hat:satellite:6.13::el8 python-markupsafe-debugsource 0 0:2.0.1-3.el8pc
Red Hat:satellite:6.13::el8 python-mccabe 0 0:0.6.1-3.el8pc
Red Hat:satellite:6.13::el8 python-multidict 0 0:6.0.2-2.el8pc
Red Hat:satellite:6.13::el8 python-multidict-debugsource 0 0:6.0.2-2.el8pc
Red Hat:satellite:6.13::el8 python-naya 0 0:1.1.1-3.el8pc
Red Hat:satellite:6.13::el8 python-odfpy 0 0:1.4.1-6.el8pc
Red Hat:satellite:6.13::el8 python-openpyxl 0 0:3.0.9-2.el8pc
Red Hat:satellite:6.13::el8 python-packaging 0 0:21.3-1.1.el8sat
Red Hat:satellite:6.13::el8 python-parsley 0 0:1.3-2.el8pc
Red Hat:satellite:6.13::el8 python-pbr 0 0:5.8.0-4.el8pc
Red Hat:satellite:6.13::el8 python-pexpect 0 0:4.8.0-2.el8sat
Red Hat:satellite:6.13::el8 python-productmd 0 0:1.33-3.el8pc
Red Hat:satellite:6.13::el8 python-protobuf 0 0:4.21.6-1.el8pc
Red Hat:satellite:6.13::el8 python-psycopg2 0 0:2.9.3-2.el8pc
Red Hat:satellite:6.13::el8 python-psycopg2-debugsource 0 0:2.9.3-2.el8pc
Red Hat:satellite:6.13::el8 python-ptyprocess 0 0:0.7.0-1.el8sat
Red Hat:satellite:6.13::el8 python-pulp-ansible 0 1:0.15.0-1.el8pc
Red Hat:satellite:6.13::el8 python-pulp-certguard 0 0:1.5.5-1.el8pc
Red Hat:satellite:6.13::el8 python-pulp-cli 0 0:0.14.0-4.el8pc
Red Hat:satellite:6.13::el8 python-pulp-container 0 0:2.14.3-1.el8pc
Red Hat:satellite:6.13::el8 python-pulp-deb 0 0:2.20.0-1.el8pc
Red Hat:satellite:6.13::el8 python-pulp-file 0 0:1.11.1-1.el8pc
Red Hat:satellite:6.13::el8 python-pulp-rpm 0 0:3.18.11-1.el8pc
Red Hat:satellite:6.13::el8 python-pulp_manifest 0 0:3.0.0-3.el8pc
Red Hat:satellite:6.13::el8 python-pulpcore 0 0:3.21.6-1.el8pc
Red Hat:satellite:6.13::el8 python-pyOpenSSL 0 0:19.1.0-3.el8pc
Red Hat:satellite:6.13::el8 python-pycairo 0 0:1.20.1-3.el8pc
Red Hat:satellite:6.13::el8 python-pycairo-debugsource 0 0:1.20.1-3.el8pc
Red Hat:satellite:6.13::el8 python-pycares 0 0:4.1.2-2.el8pc
Red Hat:satellite:6.13::el8 python-pycares-debugsource 0 0:4.1.2-2.el8pc
Red Hat:satellite:6.13::el8 python-pycodestyle 0 0:2.7.0-5.el8pc
Red Hat:satellite:6.13::el8 python-pycparser 0 0:2.21-2.el8pc
Red Hat:satellite:6.13::el8 python-pycryptodomex 0 0:3.14.1-2.el8pc

Related vulnerabilities