CVE-2025-5897 in vue-cliinfo

Summary

by MITRE • 06/10/2025

A vulnerability was found in vuejs vue-cli up to 5.0.8. It has been rated as problematic. This issue affects the function HtmlPwaPlugin of the file packages/@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js of the component Markdown Code Handler. The manipulation leads to inefficient regular expression complexity. The attack may be initiated remotely.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 07/15/2026

The vulnerability in vuejs vue-cli up to version 5.0.8 represents a significant security concern that falls under the category of inefficient regular expression complexity, commonly associated with regex denial of service attacks. This issue specifically impacts the HtmlPwaPlugin function within the packages/@vue/cli-plugin-pwa/lib/HtmlPwaPlugin.js file, which is part of the Markdown Code Handler component. The flaw demonstrates how seemingly innocuous code processing can become a vector for performance degradation and potential system compromise when regular expressions are not properly optimized.

The technical implementation of this vulnerability stems from the way the HtmlPwaPlugin processes input data through poorly constructed regular expressions that exhibit exponential time complexity under certain conditions. When maliciously crafted input is processed by this plugin, the regular expression engine can experience dramatic performance degradation, potentially leading to system resource exhaustion and denial of service conditions. This type of vulnerability aligns with CWE-1321 which specifically addresses inefficient regular expression complexity and represents a well-documented pattern in web application security where regex processing becomes a performance bottleneck when faced with adversarial input patterns.

The operational impact of this vulnerability extends beyond simple performance degradation to encompass potential system availability issues that could affect development environments and build processes. Attackers can remotely exploit this weakness by providing malicious input that triggers the vulnerable regular expression patterns, causing the vue-cli tool to consume excessive CPU resources or memory during the build process. This remote attack vector is particularly concerning in automated build environments where continuous integration systems might be targeted, potentially disrupting development workflows and deployment pipelines. The vulnerability affects the core functionality of the cli-plugin-pwa component which is designed to handle progressive web application features, making it a critical element in modern vue.js applications.

Mitigation strategies for this vulnerability should focus on both immediate remediation and long-term architectural improvements. The primary solution involves updating to vue-cli version 5.0.9 or later where the regex complexity issues have been addressed through proper input validation and optimized regular expression patterns. Organizations should implement comprehensive testing procedures that include stress testing of regex processing components with various input patterns to identify potential performance bottlenecks before deployment. Additionally, implementing rate limiting and input sanitization measures can provide defense-in-depth protection against exploitation attempts. The ATT&CK framework categorizes this type of vulnerability under T1496 which addresses resource exhaustion techniques, emphasizing the importance of proper input handling and regex optimization in preventing such attacks. Security teams should also consider monitoring build processes for unusual resource consumption patterns that could indicate exploitation attempts, ensuring that development environments maintain adequate performance characteristics even when processing potentially malicious input.

Responsible

VulDB

Disclosure

06/10/2025

Moderation

accepted

CPE

ready

EPSS

0.00508

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!