{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-33431 exists.","fix":"No fix has been published for CVE-2026-33431 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-33431 is a medium-severity path traversal vulnerability in roxy-wi, published on 20 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-33431 and fix it if it is affected.\n\nWhat it is: CVE-2026-33431 is a medium-severity path traversal vulnerability in roxy-wi, published on 20 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-33431 exists.\n\nAffected product: roxy-wi. 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-2026-33431/ (Markdown: https://insights.sbomify.com/CVE-2026-33431/index.md)","id":"CVE-2026-33431","markdown":"https://insights.sbomify.com/CVE-2026-33431/index.md","name":"CVE-2026-33431","record":{"aliases":["GHSA-w3c9-36jf-qrw4"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["data_read"],"network_reachable":"yes","non_default_config":false,"product_category":"Roxy-WI web interface","requires_auth":"low_privilege","summary":"An authenticated attacker can read arbitrary files on the server by exploiting a path traversal vulnerability in the config version viewer.","user_interaction":"not_required","vuln_class":"path_traversal"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"roxy-wi","vendor":"roxy-wi"}],"cvss":{"score":5.7,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P","version":"4.0"},"cwes":[{"id":"CWE-24","name":"Path Traversal: '../filedir'"}],"description":"Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Prior to version 8.2.6.4, the POST /config/\u003cservice\u003e/show API endpoint accepts a configver parameter that is directly appended to a base directory path to construct a local file path, which is subsequently opened and its contents returned to the caller. The existing path traversal guard only inspects the base directory variable (which is never user-controlled) and entirely ignores the user-supplied configver value. An authenticated attacker can supply a configver value containing `../` sequences to escape the intended directory and read arbitrary files accessible to the web application process. Version 8.2.6.4 contains a patch for the issue.","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":"Roxy-WI Vulnerable to Authenticated Arbitrary File Read via Path Traversal in Config Version Viewer","id":"CVE-2026-33431","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"path_traversal","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"Roxy-WI has Pre-Authentication LDAP Injection that Leads to Authentication Bypass","id":"CVE-2026-33432"},"packages":[],"prev":{"headline":"Briefcase: Windows MSI Installer Privilege Escalation via Insecure Directory Permissions","id":"CVE-2026-33430"},"products":["roxy-wi"],"published":"2026-04-20","related":[{"cvss_score":10,"headline":"Roxy-WI Vulnerable to Unauthenticated Remote Code Execution via ssl_cert Upload","id":"CVE-2022-31161","kev_date_added":null,"published":"2022-07-15"},{"cvss_score":10,"headline":"Unauthenticated Remote Code Execution in Roxy-WI","id":"CVE-2022-31137","kev_date_added":null,"published":"2022-07-08"},{"cvss_score":10,"headline":"Authentication Bypass in Roxy-wi","id":"CVE-2022-31125","kev_date_added":null,"published":"2022-07-06"},{"cvss_score":10,"headline":"Unauthenticated Remote Code Execution in Roxy-wi","id":"CVE-2022-31126","kev_date_added":null,"published":"2022-07-06"},{"cvss_score":9.8,"headline":"SQL injection in n/a","id":"CVE-2021-38167","kev_date_added":null,"published":"2021-08-07"},{"cvss_score":8.9,"headline":"Roxy-WI vulnerable to path traversal and arbitrary file writing","id":"CVE-2026-33076","kev_date_added":null,"published":"2026-04-24"},{"cvss_score":8.9,"headline":"Roxy-WI has SQL Injection in haproxy_section_save Endpoint via Unsanitized server_ip Parameter","id":"CVE-2026-33078","kev_date_added":null,"published":"2026-04-24"}],"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":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-04-21","vendors":["roxy-wi"]},"summary":"An authenticated attacker can read arbitrary files on the server by exploiting a path traversal vulnerability in the config version viewer.","url":"https://insights.sbomify.com/CVE-2026-33431/"}