CVE-2026-42864
FireFighter: Unauthenticated SSRF in Raid jira_bot endpoint allows IAM credential theft
FireFighter is an incident management application. Prior to 0.0.54, the POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is reachable without authentication (permission_classes = [permissions.AllowAny]). Its attachments payload is fetched server-side via httpx.get() with no URL validation, then uploaded as an attachment on the Jira ticket that gets created. An unauthenticated caller able to reach the ingress can coerce the pod into fetching arbitrary URLs and exfiltrate the response as a Jira attachment. On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it. This vulnerability is fixed in 0.0.54.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
9.9
FireFighter: Unauthenticated SSRF in Raid jira_bot endpoint allows IAM credential theft
FireFighter is an incident management application. Prior to 0.0.54, the POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is reachable without authentication (permission_classes = [permissions.AllowAny]). Its attachments payload is fetched server-side via httpx.get() with no URL validation, then uploaded as an attachment on the Jira ticket that gets created. An unauthenticated caller able to reach the ingress can coerce the pod into fetching arbitrary URLs and exfiltrate the response as a Jira attachment. On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it. This vulnerability is fixed in 0.0.54.
- Record
CVE-2026-42864- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Weakness
- CWE-306, CWE-918
- Updated
- 2026-11-02
EUVDEUVD-2026-29182
9.9
FireFighter is an incident management application. Prior to 0.0.54, the POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is reachable without authentication (permission_classes = [permissions.AllowAny]). Its attachments payload is fetched server-side via httpx.get() with no URL validation, then uploaded as an attachment on the Jira ticket that gets created. An unauthenticated caller able to reach the ingress can coerce the pod into fetching arbitrary URLs and exfiltrate the response as a Jira attachment. On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it. This vulnerability is fixed in 0.0.54.
- Record
EUVD-2026-29182- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-fqvv-jvhr-g5jc
9.9
FireFighter has unauthenticated SSRF in its Raid jira_bot endpoint that allows IAM credential theft
Impact
The POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is
reachable without authentication (permission_classes = [permissions.AllowAny]).
Its attachments payload is fetched server-side via httpx.get() with no URL
validation, then uploaded as an attachment on the Jira ticket that gets created.
An unauthenticated caller able to reach the ingress can coerce the pod into
fetching arbitrary URLs — including the cloud metadata endpoint at
http://169.254.169.254/ — and exfiltrate the response as a Jira attachment.
On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it.
Affected code paths:
src/firefighter/raid/views/__init__.py—CreateJiraBotViewsrc/firefighter/raid/serializers.py—LandbotIssueRequestSerializer.attachmentssrc/firefighter/raid/client.py—RaidJiraClient.add_attachments_to_issue
Patches
Fixed in firefighter-incident 0.0.54:
CreateJiraBotViewnow enforcesBearerTokenAuthentication+IsAuthenticated.attachmentsURLs are validated: http(s) scheme only, max 10 URLs, rejection of any host resolving to a private, loopback, link-local, reserved, multicast or unspecified IP (IPv4 and IPv6).- Fixes an unrelated
KeyError('attachments')surfaced during regression testing.
Users should upgrade to 0.0.54 or later.
Workarounds
Until upgrade is possible, any one of the following blocks end-to-end exploitation:
- Restrict ingress access to
/api/v2/firefighter/raid/jira_botto trusted networks only (VPN, internal load balancer). - Rotate or revoke the Jira API token configured as
RAID_JIRA_API_PASSWORD; this breaksjira.create_issue()before the vulnerable attachment fetch is reached (legitimate traffic is also blocked — emergency mitigation only). - Enforce IMDSv2 with
HttpPutResponseHopLimit=1on EC2/EKS nodes. This does not fix the SSRF itself but neutralises the IAM-credential-theft path.
Resources
- CWE-918: Server-Side Request Forgery
- CWE-306: Missing Authentication for Critical Function
- Record
GHSA-fqvv-jvhr-g5jc- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Weakness
- CWE-306, CWE-918
- Updated
- 2026-11-02
NVD
9.9
FireFighter is an incident management application. Prior to 0.0.54, the POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is reachable without authentication (permission_classes = [permissions.AllowAny]). Its attachments payload is fetched server-side via httpx.get() with no URL validation, then uploaded as an attachment on the Jira ticket that gets created. An unauthenticated caller able to reach the ingress can coerce the pod into fetching arbitrary URLs and exfiltrate the response as a Jira attachment. On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it. This vulnerability is fixed in 0.0.54.
- Record
CVE-2026-42864- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Weakness
- CWE-306, CWE-918
- Updated
- 2026-11-02
OSV
9.9
FireFighter: Unauthenticated SSRF in Raid jira_bot endpoint allows IAM credential theft
FireFighter is an incident management application. Prior to 0.0.54, the POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is reachable without authentication (permission_classes = [permissions.AllowAny]). Its attachments payload is fetched server-side via httpx.get() with no URL validation, then uploaded as an attachment on the Jira ticket that gets created. An unauthenticated caller able to reach the ingress can coerce the pod into fetching arbitrary URLs and exfiltrate the response as a Jira attachment. On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it. This vulnerability is fixed in 0.0.54.
- Record
CVE-2026-42864- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Weakness
- CWE-306, CWE-918
- Updated
- 2026-11-02
OSVGHSA-fqvv-jvhr-g5jc
9.9
FireFighter has unauthenticated SSRF in its Raid jira_bot endpoint that allows IAM credential theft
Impact
The POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is
reachable without authentication (permission_classes = [permissions.AllowAny]).
Its attachments payload is fetched server-side via httpx.get() with no URL
validation, then uploaded as an attachment on the Jira ticket that gets created.
An unauthenticated caller able to reach the ingress can coerce the pod into
fetching arbitrary URLs — including the cloud metadata endpoint at
http://169.254.169.254/ — and exfiltrate the response as a Jira attachment.
On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it.
Affected code paths:
src/firefighter/raid/views/__init__.py—CreateJiraBotViewsrc/firefighter/raid/serializers.py—LandbotIssueRequestSerializer.attachmentssrc/firefighter/raid/client.py—RaidJiraClient.add_attachments_to_issue
Patches
Fixed in firefighter-incident 0.0.54:
CreateJiraBotViewnow enforcesBearerTokenAuthentication+IsAuthenticated.attachmentsURLs are validated: http(s) scheme only, max 10 URLs, rejection of any host resolving to a private, loopback, link-local, reserved, multicast or unspecified IP (IPv4 and IPv6).- Fixes an unrelated
KeyError('attachments')surfaced during regression testing.
Users should upgrade to 0.0.54 or later.
Workarounds
Until upgrade is possible, any one of the following blocks end-to-end exploitation:
- Restrict ingress access to
/api/v2/firefighter/raid/jira_botto trusted networks only (VPN, internal load balancer). - Rotate or revoke the Jira API token configured as
RAID_JIRA_API_PASSWORD; this breaksjira.create_issue()before the vulnerable attachment fetch is reached (legitimate traffic is also blocked — emergency mitigation only). - Enforce IMDSv2 with
HttpPutResponseHopLimit=1on EC2/EKS nodes. This does not fix the SSRF itself but neutralises the IAM-credential-theft path.
Resources
- CWE-918: Server-Side Request Forgery
- CWE-306: Missing Authentication for Critical Function
- Record
GHSA-fqvv-jvhr-g5jc- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Weakness
- CWE-306, CWE-918
- Updated
- 2026-11-02
OSVPYSEC-2026-339
9.9
FireFighter has unauthenticated SSRF in its Raid jira_bot endpoint that allows IAM credential theft
Impact
The POST /api/v2/firefighter/raid/jira_bot endpoint (CreateJiraBotView) is
reachable without authentication (permission_classes = [permissions.AllowAny]).
Its attachments payload is fetched server-side via httpx.get() with no URL
validation, then uploaded as an attachment on the Jira ticket that gets created.
An unauthenticated caller able to reach the ingress can coerce the pod into
fetching arbitrary URLs — including the cloud metadata endpoint at
http://169.254.169.254/ — and exfiltrate the response as a Jira attachment.
On EC2/EKS deployments that do not enforce IMDSv2, this allows theft of the temporary AWS credentials attached to the pod's IAM role. The docstring on the view claims a Bearer token is required, but the code does not enforce it.
Affected code paths:
src/firefighter/raid/views/__init__.py—CreateJiraBotViewsrc/firefighter/raid/serializers.py—LandbotIssueRequestSerializer.attachmentssrc/firefighter/raid/client.py—RaidJiraClient.add_attachments_to_issue
Patches
Fixed in firefighter-incident 0.0.54:
CreateJiraBotViewnow enforcesBearerTokenAuthentication+IsAuthenticated.attachmentsURLs are validated: http(s) scheme only, max 10 URLs, rejection of any host resolving to a private, loopback, link-local, reserved, multicast or unspecified IP (IPv4 and IPv6).- Fixes an unrelated
KeyError('attachments')surfaced during regression testing.
Users should upgrade to 0.0.54 or later.
Workarounds
Until upgrade is possible, any one of the following blocks end-to-end exploitation:
- Restrict ingress access to
/api/v2/firefighter/raid/jira_botto trusted networks only (VPN, internal load balancer). - Rotate or revoke the Jira API token configured as
RAID_JIRA_API_PASSWORD; this breaksjira.create_issue()before the vulnerable attachment fetch is reached (legitimate traffic is also blocked — emergency mitigation only). - Enforce IMDSv2 with
HttpPutResponseHopLimit=1on EC2/EKS nodes. This does not fix the SSRF itself but neutralises the IAM-credential-theft path.
Resources
- CWE-918: Server-Side Request Forgery
- CWE-306: Missing Authentication for Critical Function
- Record
PYSEC-2026-339- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
firefighter-incidentPyPI |
before 0.0.54 | 0.0.54 |
firefighter-incidentPyPI |
before 0.0.54, plus listed versions 0.0.10.0.100.0.110.0.120.0.13 Show 45 moreShow less0.0.140.0.150.0.160.0.170.0.180.0.190.0.1rc10.0.1rc20.0.20.0.200.0.210.0.220.0.230.0.240.0.250.0.260.0.270.0.280.0.290.0.30.0.300.0.310.0.320.0.330.0.340.0.350.0.360.0.370.0.380.0.390.0.40.0.400.0.410.0.420.0.430.0.440.0.450.0.460.0.470.0.480.0.490.0.50.0.500.0.510.0.52 |
0.0.54 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-42864 is a critical vulnerability (CVSS 9.9) in Manomanotech Firefighter-incident, published May 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 19th percentile. Fixed in firefighter-incident 0.0.54.
References
github.com/ManoManoTech/firefighter-incident/security/advisories/GHSA-fqvv-jvhr-g5jc
github.com/ManoManoTech/firefighter-incident/commit/2586679e6f32c12d223668b73e98f4c4de7b771f
nvd.nist.gov/vuln/detail/CVE-2026-42864
github.com/pypa/advisory-database/tree/main/vulns/firefighter-incident/PYSEC-2026-339.yaml
pypi.org/project/firefighter-incident
github.com/advisories/GHSA-fqvv-jvhr-g5jc
github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42864.json
github.com/ManoManoTech/firefighter-incident
Left out here: 5 versions. The JSON record has them.