# CVE-2017-1000091: Jenkins GitHub Branch Source Plugin vulnerable to Cross-Site Request Forgery

> Attackers can exploit CSRF to force Jenkins to send credentials to arbitrary servers, potentially capturing sensitive information.

- **Severity:** Medium 6.3 (`CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 4 Oct 2017
- **Updated:** 5 Aug 2024
- **Also known as:** GHSA-w66r-f5gg-gqwm

## What is CVE-2017-1000091?

CVE-2017-1000091 is a medium-severity vulnerability in n/a, published on 4 Oct 2017. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

GitHub Branch Source Plugin connects to a user-specified GitHub API URL (e.g. GitHub Enterprise) as part of form validation and completion (e.g. to verify Scan Credentials are correct). This functionality improperly checked permissions, allowing any user with Overall/Read access to Jenkins to connect to any web server and send credentials with a known ID, thereby possibly capturing them. Additionally, this functionality did not require POST requests be used, thereby allowing the above to be performed without direct access to Jenkins via Cross-Site Request Forgery.

Weakness: CWE-352 (Cross-Site Request Forgery)

## Which versions are affected by CVE-2017-1000091?

2 open source packages ship an affected version, including org.jenkins-ci.plugins:github-branch-source. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `org.jenkins-ci.plugins:github-branch-source` | Maven | All versions | 2.2.0-alpha-1 |
| `org.jenkins-ci.plugins:github-branch-source` | Maven | All versions | 2.2.0-alpha-1 |

Products: Jenkins Github Branch Source.

## How do I fix CVE-2017-1000091?

Upgrade org.jenkins-ci.plugins:github-branch-source to 2.2.0-alpha-1 or later.

## Is CVE-2017-1000091 being exploited?

There is no known exploitation of CVE-2017-1000091 in the wild and no public exploit code.

## Other vulnerabilities in n/a

- [CVE-2024-23901](https://insights.sbomify.com/CVE-2024-23901/): Shared projects are unconditionally discovered by Jenkins GitLab Branch Source Plugin (medium 6.5)
- [CVE-2024-23903](https://insights.sbomify.com/CVE-2024-23903/): Non-constant time webhook token comparison in Jenkins GitLab Branch Source Plugin (medium 5.3)
- [CVE-2026-57285](https://insights.sbomify.com/CVE-2026-57285/): Jenkins GitHub Branch Source Plugin has missing permission check that allows enumerating GitHub Enterprise server URLs (medium 4.3)
- [CVE-2026-42522](https://insights.sbomify.com/CVE-2026-42522/): Jenkins GitHub Branch Source Plugin: Missing permissions check allows attackers to perform a connection test (medium 4.3)
- [CVE-2024-23902](https://insights.sbomify.com/CVE-2024-23902/): CSRF vulnerability in Jenkins GitLab Branch Source Plugin (medium 4.3)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2017-1000091 and fix it if it is affected.

What it is: CVE-2017-1000091 is a medium-severity vulnerability in n/a, published on 4 Oct 2017. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2017-1000091 in the wild and no public exploit code.

Affected packages and fixed versions:
- org.jenkins-ci.plugins:github-branch-source (Maven): affected all versions; fixed in 2.2.0-alpha-1
- org.jenkins-ci.plugins:github-branch-source (Maven): affected all versions; fixed in 2.2.0-alpha-1

Task:
1. 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.
2. 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.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2017-1000091/ (Markdown: https://insights.sbomify.com/CVE-2017-1000091/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2017-1000091
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2017-1000091
- OSV: https://osv.dev/vulnerability/CVE-2017-1000091

---
From sbomify Insights: https://insights.sbomify.com/CVE-2017-1000091/
Summaries are generated and may contain mistakes; the official description above is the record.
