{"answers":{"affected":"3 open source packages ship an affected version, including isso.","exploited":"There is no known exploitation of CVE-2026-27469 in the wild and no public exploit code.","fix":"Upgrade isso to 0.13.2 or later.","what":"CVE-2026-27469 is a medium-severity cross-site scripting vulnerability in isso-comments isso, published on 21 Feb 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-27469 and fix it if it is affected.\n\nWhat it is: CVE-2026-27469 is a medium-severity cross-site scripting vulnerability in isso-comments isso, published on 21 Feb 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2026-27469 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- isso (PyPI): affected all versions; fixed in 0.13.2\n- isso (PyPI): affected all versions; fixed in 0.13.2\n- isso (PyPI): affected all versions; fixed in 0.13.2\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-2026-27469/ (Markdown: https://insights.sbomify.com/CVE-2026-27469/index.md)","id":"CVE-2026-27469","markdown":"https://insights.sbomify.com/CVE-2026-27469/index.md","name":"CVE-2026-27469","record":{"aliases":["GHSA-9fww-8cpr-q66r","PYSEC-2026-2527"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["code_execution","account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"commenting server","requires_auth":"none","summary":"Attackers can inject malicious scripts via comment fields in Isso, potentially stealing user sessions or executing code in victim browsers.","user_interaction":"required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":6.1,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"},{"id":"CWE-116","name":"Improper Encoding or Escaping of Output"}],"description":"Isso is a lightweight commenting server written in Python and JavaScript. In commits before 0afbfe0691ee237963e8fb0b2ee01c9e55ca2144, there is a stored Cross-Site Scripting (XSS) vulnerability affecting the website and author comment fields. The website field was HTML-escaped using quote=False, which left single and double quotes unescaped. Since the frontend inserts the website value directly into a single-quoted href attribute via string concatenation, a single quote in the URL breaks out of the attribute context, allowing injection of arbitrary event handlers (e.g. onmouseover, onclick). The same escaping is missing entirely from the user-facing comment edit endpoint (PUT /id/) and the moderation edit endpoint (POST /id//edit/). This issue has been patched in commit 0afbfe0691ee237963e8fb0b2ee01c9e55ca2144. To workaround, nabling comment moderation (moderation = enabled = true in isso.cfg) prevents unauthenticated users from publishing comments, raising the bar for exploitation, but it does not fully mitigate the issue since a moderator activating a malicious comment would still expose visitors.","ecosystems":["PyPI"],"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":"Isso: Stored XSS via comment website field","id":"CVE-2026-27469","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"xss","year":"2026"},"n_packages":3,"n_references":3,"next":{"headline":"ZoneMinder: Second-Order SQL Injection in `getNearEvents()` via Stored Event Name and Cause Fields","id":"CVE-2026-27470"},"packages":[{"ecosystem":"PyPI","fixed":["0.13.2"],"introduced":["0"],"last_affected":[],"package":"isso","purl":null,"source":"GHSA-9fww-8cpr-q66r"},{"ecosystem":"PyPI","fixed":["0.13.2"],"introduced":["0"],"last_affected":[],"package":"isso","purl":"pkg:pypi/isso","source":"GHSA-9fww-8cpr-q66r"},{"ecosystem":"PyPI","fixed":["0.13.2"],"introduced":["0"],"last_affected":[],"package":"isso","purl":"pkg:pypi/isso","source":"PYSEC-2026-2527"}],"prev":{"headline":"Mastodon may allow unconfirmed FASP to make subscriptions","id":"CVE-2026-27468"},"products":["isso"],"published":"2026-02-21","related":[],"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":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"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":"partial"},"state":"PUBLISHED","updated":"2026-02-24","vendors":["isso-comments"]},"summary":"Attackers can inject malicious scripts via comment fields in Isso, potentially stealing user sessions or executing code in victim browsers.","url":"https://insights.sbomify.com/CVE-2026-27469/"}