Many people are concerned about an RCE flaw in the Apache Commons Text library. They believe that this RCE flaw may turn out to be the next successive “Log4shell” flaw.
The new RCE flaw in Apache Commons Text is tracked as CVE-2022-42889 and the flaw has been dubbed “Text4Shell.” The GitHub security analyst Alvaro Munoz was the one who discovered the issue. A report was already sent by him to Apache on March 9, 2022, informing them of the issue.
There are many open-source Java libraries out there, but Apache Commons Text is one of the most popular, as this library comes with an interpolation system.
Based on an inputted string lookup as a basis for the interpolation system, the developers have the possibility of performing the following tasks with the values of strings:-
- Ability to modify
- Ability to decode
- Ability to escape
Technical Analysis
The flaw exists due to the interpolation system, as it executes hazardous script evaluation, which causes the appearance of Text4Shell vulnerability.
Using the library’s default configuration, it is possible for this system to trigger code execution in the event of malicious input being processed.
As a result of variable interpolation, Apache Commons Text is capable of dynamic evaluations and expansions of properties. As far as interpolation is concerned, the standard format is as follows:-
- ${prefix:name}
Here to locate the instance of “org.apache.commons.text.lookup.StringLookup” the “prefix” is used and with the help of the located instance the interpolation process is performed.
On October 12, 2022, the open-source library developers published a bug-fixing version 1.10.0 for their open-source library, which removes the interpolation feature, a fix that took 7 months to complete.
Disclosure Timeline
- 2022-03-09: Issue reported to security@commons.apache.org
- 2022-03-25: Apache Commons security team acknowledged receiving the report
- 2022-05-27: GHSL requested a status update
- 2022-05-27: Apache Commons security team notifies they are working on disabling the script interpolation by default
- 2022-06-29: Apache Commons security team states that “Commons Text” will be updated, in order to make the programmer’s intention completely explicit on using a “dangerous” feature
- 2022-08-11: GHSL requested a status update
- 2022-10-12: Apache Commons Text releases version 1.10.0 where script interpolation is disabled by default
Do you need to be concerned?
Like the damage done by the Log4Shell vulnerability, in the beginning, many users were concerned about the damage that could be done by the distribution of the vulnerable library due to its widespread deployment.
There is no indication that all versions between 1.5 and 1.9 are vulnerable. Depending on the JDK version that is being used, the exploitation potential is primarily affected.
There is a flaw in the string interpolation algorithm, which is a documented feature, but the scope of the flaw is not as serious as in Log4Shell.
Recommendation
The developers have recently updated the Apache Commons Text library to fix this flaw. So, they have strongly recommended users who use the Apache Commons Text library upgrade their old version to 1.10 or higher to remain safe.
Moreover, there has also been confirmation from Apache’s security team that the issue does not bear any similarity to Log4Shell, in short, it’s now so critical or serious as Log4Shell vulnerability.
Also Read: Download Secure Web Filtering – Free E-book