{"answers":{"affected":"3 open source packages ship an affected version, including github.com/gittuf/gittuf.","exploited":"There is no known exploitation of CVE-2026-44544 in the wild and no public exploit code.","fix":"Upgrade github.com/gittuf/gittuf to 0.14.0 or later.","what":"CVE-2026-44544 is a medium-severity vulnerability in gittuf, published on 14 May 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-44544 and fix it if it is affected.\n\nWhat it is: CVE-2026-44544 is a medium-severity vulnerability in gittuf, published on 14 May 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-44544 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/gittuf/gittuf (Go): affected all versions; fixed in 0.14.0\n- github.com/gittuf/gittuf (Go): affected all versions; fixed in 0.14.0\n- github.com/gittuf/gittuf (Go): affected all versions; fixed in 0.14.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-2026-44544/ (Markdown: https://insights.sbomify.com/CVE-2026-44544/index.md)","id":"CVE-2026-44544","markdown":"https://insights.sbomify.com/CVE-2026-44544/index.md","name":"CVE-2026-44544","record":{"aliases":["DEBIAN-CVE-2026-44544","GHSA-vxvc-cg7j-rwqj","GO-2026-5683","UBUNTU-CVE-2026-44544"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Git security system","requires_auth":"low_privilege","summary":"An attacker with push access can roll back gittuf policies to a previous trusted state, bypassing current security controls.","user_interaction":"not_required","vuln_class":"business_logic"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":4.9,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:H/SA:N","version":"4.0"},"cwes":[{"id":"CWE-639","name":"Authorization Bypass Through User-Controlled Key"}],"description":"gittuf is a platform-agnostic Git security system. Prior to 0.14.0, an attacker with push access to gittuf's Reference State Log (RSL) can roll back the current policy to any previous policy trusted by the current set of root keys. gittuf determines the policy to load by inspecting the RSL. Except for the very first policy (which is automatically trusted given gittuf's TOFU model, or verified against manually specified keys), whenever an RSL entry that points to a new policy is encountered, gittuf validates that this policy is trusted. This is done by checking that the new policy’s root metadata is signed by the required threshold of the current policy's root keys. Because of this, an attacker with push access to the RSL may create a new entry that references an old policy (that is trusted by the most recent policy's set of root keys), thereby rolling back gittuf's policy to the attacker's chosen state.  This vulnerability is fixed in 0.14.0.","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":"gittuf: Policy can be rolled back to prior valid version","id":"CVE-2026-44544","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"business_logic","year":"2026"},"n_packages":3,"n_references":2,"next":{"headline":"Unbounded WebSocket message and frame sizes can cause unauthenticated remote denial of service","id":"CVE-2026-44545"},"packages":[{"ecosystem":"Go","fixed":["0.14.0"],"introduced":["0"],"last_affected":[],"package":"github.com/gittuf/gittuf","purl":null,"source":"GHSA-vxvc-cg7j-rwqj"},{"ecosystem":"Go","fixed":["0.14.0"],"introduced":["0"],"last_affected":[],"package":"github.com/gittuf/gittuf","purl":"pkg:golang/github.com/gittuf/gittuf","source":"GHSA-vxvc-cg7j-rwqj"},{"ecosystem":"Go","fixed":["0.14.0"],"introduced":["0"],"last_affected":[],"package":"github.com/gittuf/gittuf","purl":"pkg:golang/github.com/gittuf/gittuf","source":"GO-2026-5683"}],"prev":{"headline":"Local Path Provisioner: HelperPod Template Injection","id":"CVE-2026-44543"},"products":["gittuf"],"published":"2026-05-14","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":"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-05-15","vendors":["gittuf"]},"summary":"An attacker with push access can roll back gittuf policies to a previous trusted state, bypassing current security controls.","url":"https://insights.sbomify.com/CVE-2026-44544/"}