{"answers":{"affected":"3 open source packages ship an affected version, including github.com/h44z/wg-portal. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-27899 in the wild and no public exploit code.","fix":"Upgrade github.com/h44z/wg-portal to 2.1.3 or later.","what":"CVE-2026-27899 is a high-severity vulnerability in h44z wg-portal, published on 26 Feb 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-27899 and fix it if it is affected.\n\nWhat it is: CVE-2026-27899 is a high-severity vulnerability in h44z wg-portal, published on 26 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-27899 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/h44z/wg-portal (Go): affected all versions; no fix listed\n- github.com/h44z/wg-portal (Go): affected all versions; fixed in 2.1.3\n- github.com/h44z/wg-portal (Go): affected all versions; fixed in 2.1.3\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-27899/ (Markdown: https://insights.sbomify.com/CVE-2026-27899/index.md)","id":"CVE-2026-27899","markdown":"https://insights.sbomify.com/CVE-2026-27899/index.md","name":"CVE-2026-27899","record":{"aliases":["GHSA-5rmx-256w-8mj9","GO-2026-4566"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["privilege_escalation"],"network_reachable":"yes","non_default_config":false,"product_category":"WireGuard management portal","requires_auth":"low_privilege","summary":"Authenticated users can escalate to admin by modifying their own profile JSON, granting full control over the WireGuard portal.","user_interaction":"not_required","vuln_class":"privilege_escalation"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"wireguard_portal","vendor":"wgportal"}],"cvss":{"score":8.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-863","name":"Incorrect Authorization"},{"id":"CWE-269","name":"Improper Privilege Management"}],"description":"WireGuard Portal (or wg-portal) is a web-based configuration portal for WireGuard server management. Prior to version 2.1.3, any authenticated non-admin user can become a full administrator by sending a single PUT request to their own user profile endpoint with `\"IsAdmin\": true` in the JSON body. After logging out and back in, the session picks up admin privileges from the database. When a user updates their own profile, the server parses the full JSON body into the user model, including the `IsAdmin` boolean field. A function responsible for preserving calculated or protected attributes pins certain fields to their database values (such as base model data, linked peer count, and authentication data), but it does not do this for `IsAdmin`. As a result, whatever value the client sends for `IsAdmin` is written directly to the database. After the exploit, the attacker has full admin access to the WireGuard VPN management portal. The problem was fixed in v2.1.3. The docker images for the tag 'latest' built from the master branch also include the fix.","ecosystems":["Go"],"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":"WireGuard Portal Vulnerable to Privilege Escalation to Admin via User Self-Update","id":"CVE-2026-27899","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"privilege_escalation","year":"2026"},"n_packages":3,"n_references":1,"next":{"headline":"Terraform Provider Debug Logs Vulnerable to Sensitive Information Exposure","id":"CVE-2026-27900"},"packages":[{"ecosystem":"Go","fixed":[],"introduced":["0"],"last_affected":[],"package":"github.com/h44z/wg-portal","purl":"pkg:golang/github.com/h44z/wg-portal","source":"GO-2026-4566"},{"ecosystem":"Go","fixed":["2.1.3"],"introduced":["0"],"last_affected":[],"package":"github.com/h44z/wg-portal","purl":null,"source":"GHSA-5rmx-256w-8mj9"},{"ecosystem":"Go","fixed":["2.1.3"],"introduced":["0"],"last_affected":[],"package":"github.com/h44z/wg-portal","purl":"pkg:golang/github.com/h44z/wg-portal","source":"GHSA-5rmx-256w-8mj9"}],"prev":{"headline":"Vaultwarden: Unauthorized Access via Partial Update API on Another User’s Cipher","id":"CVE-2026-27898"},"products":["wg-portal"],"published":"2026-02-26","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":"Go Vulnerability Database","prefix":"GO"},{"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":"2026-02-26","vendors":["h44z"]},"summary":"Authenticated users can escalate to admin by modifying their own profile JSON, granting full control over the WireGuard portal.","url":"https://insights.sbomify.com/CVE-2026-27899/"}