# CVE-2015-5361: Junos: FTPS through SRX opens up wide range of data channel TCP ports

> Enabling ftps-extensions on Junos SRX allows FTPS clients to access all TCP ports on the server, bypassing firewall restrictions.

- **Severity:** Medium 6.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** No
- **Published:** 28 Feb 2020
- **Updated:** 16 Sep 2024
- **Also known as:** GHSA-x6c6-rqqc-c89m

## What is CVE-2015-5361?

CVE-2015-5361 is a medium-severity vulnerability in Juniper Junos, published on 28 Feb 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Background For regular, unencrypted FTP traffic, the FTP ALG can inspect the unencrypted control channel and open related sessions for the FTP data channel. These related sessions (gates) are specific to source and destination IPs and ports of client and server. The design intent of the ftps-extensions option (which is disabled by default) is to provide similar functionality when the SRX secures the FTP/FTPS client. As the control channel is encrypted, the FTP ALG cannot inspect the port specific information and will open a wider TCP data channel (gate) from client IP to server IP on all destination TCP ports. In FTP/FTPS client environments to an enterprise network or the Internet, this is the desired behavior as it allows firewall policy to be written to FTP/FTPS servers on well-known control ports without using a policy with destination IP ANY and destination port ANY. Issue The ftps-extensions option is not intended or recommended where the SRX secures the FTPS server, as the wide data channel session (gate) will allow the FTPS client temporary access to all TCP ports on the FTPS server. The data session is associated to the control channel and will be closed when the control channel session closes. Depending on the configuration of the FTPS server, supporting load-balancer, and SRX inactivity-timeout values, the server/load-balancer and SRX may keep the control channel open for an extended period of time, allowing an FTPS client access for an equal duration.​ Note that the ftps-extensions option is not enabled by default.

Weakness: CWE-326 (Inadequate Encryption Strength)

## Which versions are affected by CVE-2015-5361?

It affects 1 product.


Products: Juniper Junos.

## How do I fix CVE-2015-5361?

No fix has been published for CVE-2015-5361 yet. Limit exposure of the affected software until one is available.

## Is CVE-2015-5361 being exploited?

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

## Other vulnerabilities in Juniper Junos

- [CVE-2023-36845](https://insights.sbomify.com/CVE-2023-36845/): Juniper Junos OS EX Series and SRX Series PHP External Variable Modification (critical 9.8, exploited in the wild)
- [CVE-2020-1631](https://insights.sbomify.com/CVE-2020-1631/): Juniper Junos OS Path Traversal (high 8.8, exploited in the wild)
- [CVE-2025-21590](https://insights.sbomify.com/CVE-2025-21590/): Juniper Junos OS Improper Isolation or Compartmentalization (medium 6.7, exploited in the wild)
- [CVE-2023-36851](https://insights.sbomify.com/CVE-2023-36851/): Juniper Junos OS SRX Series Missing Authentication for Critical Function (medium 5.3, exploited in the wild)
- [CVE-2023-36844](https://insights.sbomify.com/CVE-2023-36844/): Juniper Junos OS EX Series PHP External Variable Modification (medium 5.3, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2015-5361 and fix it if it is affected.

What it is: CVE-2015-5361 is a medium-severity vulnerability in Juniper Junos, published on 28 Feb 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2015-5361 in the wild and no public exploit code.

Affected product: Juniper Junos. No package-level version data is available, so check the vendor advisory linked from the reference page.

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-2015-5361/ (Markdown: https://insights.sbomify.com/CVE-2015-5361/index.md)
```

## Sources

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

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