{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2022-29220 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2022-29220 yet. Limit exposure of the affected software until one is available.","what":"CVE-2022-29220 is a medium-severity missing authorization vulnerability in fastify github-action-merge-dependabot, published on 31 May 2022. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2022-29220 and fix it if it is affected.\n\nWhat it is: CVE-2022-29220 is a medium-severity missing authorization vulnerability in fastify github-action-merge-dependabot, published on 31 May 2022. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2022-29220 in the wild and no public exploit code.\n\nAffected product: fastify github-action-merge-dependabot. 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-2022-29220/ (Markdown: https://insights.sbomify.com/CVE-2022-29220/index.md)","id":"CVE-2022-29220","markdown":"https://insights.sbomify.com/CVE-2022-29220/index.md","name":"CVE-2022-29220","record":{"aliases":["GHSA-v5vr-h3xq-8v6w"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["code_execution","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"GitHub Action","requires_auth":"low_privilege","summary":"Attackers can inject malicious commits into Dependabot PRs because the action fails to verify GPG signatures, allowing unauthorized code execution.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"github_action_merge_dependabot","vendor":"fastify"}],"cvss":{"score":6.5,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-345","name":"Insufficient Verification of Data Authenticity"},{"id":"CWE-283","name":"Unverified Ownership"}],"description":"github-action-merge-dependabot is an action that automatically approves and merges dependabot pull requests (PRs). Prior to version 3.2.0, github-action-merge-dependabot does not check if a commit created by dependabot is verified with the proper GPG key. There is just a check if the actor is set to `dependabot[bot]` to determine if the PR is a legit PR. Theoretically, an owner of a seemingly valid and legit action in the pipeline can check if the PR is created by dependabot and if their own action has enough permissions to modify the PR in the pipeline. If so, they can modify the PR by adding a second seemingly valid and legit commit to the PR, as they can set arbitrarily the username and email in for commits in git. Because the bot only checks if the actor is valid, it would pass the malicious changes through and merge the PR automatically, without getting noticed by project maintainers. It would probably not be possible to determine where the malicious commit came from, as it would only say `dependabot[bot]` and the corresponding email-address. Version 3.2.0 contains a patch for this issue.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"No verification of commits origin in github-action-merge-dependabot","id":"CVE-2022-29220","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"missing_authorization","year":"2022"},"n_packages":0,"n_references":3,"next":{"headline":"PHP Code Injection by malicious block or filename in Smarty","id":"CVE-2022-29221"},"packages":[],"prev":{"headline":"Integer Overflow in Lodestar","id":"CVE-2022-29219"},"products":["github-action-merge-dependabot"],"published":"2022-05-31","related":[],"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":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-04-23","vendors":["fastify"]},"summary":"Attackers can inject malicious commits into Dependabot PRs because the action fails to verify GPG signatures, allowing unauthorized code execution.","url":"https://insights.sbomify.com/CVE-2022-29220/"}