{"answers":{"affected":"2 open source packages ship an affected version, including librenms/librenms. It affects 1 product.","exploited":"There is no known exploitation of CVE-2025-54138 in the wild and no public exploit code.","fix":"Upgrade librenms/librenms to 25.7.0 or later.","what":"CVE-2025-54138 is a high-severity code injection vulnerability in Librenms Librenms, published on 22 Jul 2025. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-54138 and fix it if it is affected.\n\nWhat it is: CVE-2025-54138 is a high-severity code injection vulnerability in Librenms Librenms, published on 22 Jul 2025. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2025-54138 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- librenms/librenms (Packagist): affected all versions; fixed in 25.7.0\n- librenms/librenms (Packagist): affected all versions; fixed in 25.7.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-54138/ (Markdown: https://insights.sbomify.com/CVE-2025-54138/index.md)","id":"CVE-2025-54138","markdown":"https://insights.sbomify.com/CVE-2025-54138/index.md","name":"CVE-2025-54138","record":{"aliases":["GHSA-gq96-8w38-hhj2"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"Network monitoring software","requires_auth":"low_privilege","summary":"Authenticated attackers can achieve remote code execution in LibreNMS via local file inclusion in ajax_form.php due to lack of input validation.","user_interaction":"not_required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"librenms","vendor":"librenms"}],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-98","name":"Improper Control of Filename for Include/Require Statement in PHP Program"}],"description":"LibreNMS is an auto-discovering PHP/MySQL/SNMP based network monitoring which includes support for a wide range of network hardware and operating systems. LibreNMS versions 25.6.0 and below contain an architectural vulnerability in the ajax_form.php endpoint that permits Remote File Inclusion based on user-controlled POST input. The application directly uses the type parameter to dynamically include .inc.php files from the trusted path includes/html/forms/, without validation or allowlisting. This pattern introduces a latent Remote Code Execution (RCE) vector if an attacker can stage a file in this include path — for example, via symlink, development misconfiguration, or chained vulnerabilities. This is fixed in version 25.7.0.","ecosystems":["Packagist"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"LibreNMS has Authenticated Local File Inclusion in ajax_form.php that Allows RCE","id":"CVE-2025-54138","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Packagist","product":"librenms:librenms","products":["librenms:librenms"],"type":"code_injection","year":"2025"},"n_packages":2,"n_references":4,"next":{"headline":"HAX CMS' application pages are vulnerable to clickjacking","id":"CVE-2025-54139"},"packages":[{"ecosystem":"Packagist","fixed":["25.7.0"],"introduced":["0"],"last_affected":[],"package":"librenms/librenms","purl":null,"source":"GHSA-gq96-8w38-hhj2"},{"ecosystem":"Packagist","fixed":["25.7.0"],"introduced":["0"],"last_affected":[],"package":"librenms/librenms","purl":"pkg:composer/librenms/librenms","source":"GHSA-gq96-8w38-hhj2"}],"prev":{"headline":"NodeJS version of the HAX CMS application is distributed with Default Secrets","id":"CVE-2025-54137"},"products":["librenms"],"published":"2025-07-22","related":[{"cvss_score":9.8,"headline":"Cross-site Scripting (XSS) - Stored in librenms/librenms","id":"CVE-2023-4982","kev_date_added":null,"published":"2023-09-15"},{"cvss_score":9.8,"headline":"Command injection in librenms","id":"CVE-2022-29712","kev_date_added":null,"published":"2022-05-31"},{"cvss_score":9.8,"headline":"Path traversal in librenms/librenms","id":"CVE-2021-44278","kev_date_added":null,"published":"2021-12-03"},{"cvss_score":9.8,"headline":"LibreNMS Information Disclosure","id":"CVE-2019-10665","kev_date_added":null,"published":"2019-09-09"},{"cvss_score":9.8,"headline":"LibreNMS arbitrary OS commands execution","id":"CVE-2018-20434","kev_date_added":null,"published":"2019-04-24"},{"cvss_score":9.3,"headline":"LibreNMS: SQL Injection in ajax_table.php spreads through a covert data stream","id":"CVE-2026-26988","kev_date_added":null,"published":"2026-02-20"},{"cvss_score":9.2,"headline":"LibreNMS before 26.8.0 Authentication Bypass via API Token Type Confusion","id":"CVE-2026-86426","kev_date_added":null,"published":"2026-09-07"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2025-07-23","vendors":["librenms"]},"summary":"Authenticated attackers can achieve remote code execution in LibreNMS via local file inclusion in ajax_form.php due to lack of input validation.","url":"https://insights.sbomify.com/CVE-2025-54138/"}