{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-10940 exists.","fix":"No fix has been published for CVE-2025-10940 yet. Limit exposure of the affected software until one is available.","what":"CVE-2025-10940 is a medium-severity cross-site scripting vulnerability in Total.js CMS, published on 25 Sep 2025. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2025-10940 and fix it if it is affected.\n\nWhat it is: CVE-2025-10940 is a medium-severity cross-site scripting vulnerability in Total.js CMS, published on 25 Sep 2025. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-10940 exists.\n\nAffected product: Total.js CMS. No package-level version data is available, so check the vendor advisory linked from the reference page.\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-10940/ (Markdown: https://insights.sbomify.com/CVE-2025-10940/index.md)","id":"CVE-2025-10940","markdown":"https://insights.sbomify.com/CVE-2025-10940/index.md","name":"CVE-2025-10940","record":{"aliases":["GHSA-92hj-qq4q-mm96"],"analysis":{"component_type":"web_application","fix_type":"no_fix_stated","impacts":["code_execution","account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Total.js CMS","requires_auth":"high_privilege","summary":"Remote attackers can inject malicious scripts via the admin layout save function, potentially leading to code execution or account takeover.","user_interaction":"required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulDB","cpe":[{"product":"total.js","vendor":"totaljs"}],"cvss":{"score":4.8,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P","version":"4.0"},"cwes":[{"id":"CWE-94","name":"Improper Control of Generation of Code"},{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"}],"description":"A vulnerability was found in Total.js CMS 1.0.0. Affected by this vulnerability is the function layouts_save of the file /admin/ of the component Layout Page. Performing manipulation of the argument HTML results in cross site scripting. It is possible to initiate the attack remotely. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"Total.js CMS Layout admin layouts_save cross site scripting","id":"CVE-2025-10940","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"xss","year":"2025"},"n_packages":0,"n_references":3,"next":{"headline":"Topaz SERVCore Teller Installer SERVCoreTeller_2.0.40D.msi permission","id":"CVE-2025-10941"},"packages":[],"prev":{"headline":"Org.keycloak/keycloak-quarkus-server: unable to restrict access to the admin console","id":"CVE-2025-10939"},"products":["CMS"],"published":"2025-09-25","related":[{"cvss_score":9.8,"headline":"Arbitrary Code Execution","id":"CVE-2021-23389","kev_date_added":null,"published":"2021-07-12"},{"cvss_score":9.8,"headline":"Remote Code Execution (RCE)","id":"CVE-2021-23344","kev_date_added":null,"published":"2021-03-04"},{"cvss_score":8.8,"headline":"Code injection in n/a","id":"CVE-2024-48655","kev_date_added":null,"published":"2024-10-25"},{"cvss_score":8.8,"headline":"Command injection in n/a","id":"CVE-2022-44019","kev_date_added":null,"published":"2022-10-29"},{"cvss_score":8.6,"headline":"Command Injection","id":"CVE-2020-28494","kev_date_added":null,"published":"2021-02-02"},{"cvss_score":7.5,"headline":"Code injection in total.js","id":"CVE-2021-32831","kev_date_added":null,"published":"2021-08-30"},{"cvss_score":7.5,"headline":"Path Traversal in total.js","id":"CVE-2019-8903","kev_date_added":null,"published":"2019-02-18"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"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":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-09-25","vendors":["Total.js"]},"summary":"Remote attackers can inject malicious scripts via the admin layout save function, potentially leading to code execution or account takeover.","url":"https://insights.sbomify.com/CVE-2025-10940/"}