Public mode

No access to your tenant or devices. Every item links to its source. What this means

Sources need attention Customize Public modeDiscuss ChangeIntel on Discord

SFTP READLINK Leaks Absolute Backend Filesystem Path When Root Is Configured

CVSS 4.0 2.3 LOWCheck source for fixed versionsKEV status unknown

Historical advisory recorded 23 Oct 2026 15:48:27 UTC. Read the latest advisory.

cve-program · CVE-2026-48855

Published

Exposure of Sensitive Information to an Unauthorized Actor vulnerability in Erlang OTP ssh (ssh_sftpd module) allows File Discovery. The SSH_FXP_READLINK handler in ssh_sftpd sends the raw result of file:read_link/2 to the client without calling chroot_filename/2 to strip the backend root prefix. An authenticated SFTP client can create a symlink inside the chroot pointing to /; ssh_sftpd resolves the target to the absolute backend root and stores it on disk. Reading the symlink back via SSH_FXP_READLINK returns that absolute path, for example /data/sftp, instead of the chrooted value /. The information disclosed is the absolute filesystem path of the SFTP root directory and of any symlink targets within it. No file contents, credentials, or access to paths outside the root directory are obtainable through this issue alone. This vulnerability is associated with program files lib/ssh/src/ssh_sftpd.erl. This issue affects OTP from OTP 17.0 before OTP 27.3.4.13, OTP 28.5.0.2, and OTP 29.0.2, corresponding to ssh from 3.0.1 before 5.2.11.8, 5.5.2.1, and 6.0.1. Whether OTP before OTP 17.0, corresponding to ssh before 3.0.1, is affected is unknown.

Read the publisher's advisory

Affected versions, risk and source history

cve-program · CVE-2026-48855

Published

otp

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "cpes": [
                        "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
                    ],
                    "defaultStatus": "unknown",
                    "modules": [
                        "ssh_sftpd"
                    ],
                    "packageName": "otp",
                    "packageURL": "pkg:software-id/erlang.org/otp",
                    "product": "OTP",
                    "programFiles": [
                        "lib/ssh/src/ssh_sftpd.erl"
                    ],
                    "programRoutines": [
                        {
                            "name": "ssh_sftpd:handle_op/4"
                        }
                    ],
                    "vendor": "Erlang",
                    "versions": [
                        {
                            "changes": [
                                {
                                    "at": "27.3.4.13",
                                    "status": "unaffected"
                                },
                                {
                                    "at": "28.5.0.2",
                                    "status": "unaffected"
                                },
                                {
                                    "at": "29.0.2",
                                    "status": "unaffected"
                                }
                            ],
                            "lessThan": "*",
                            "status": "affected",
                            "version": "17.0",
                            "versionType": "otp"
                        }
                    ]
                }

ssh

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "cpes": [
                        "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
                    ],
                    "defaultStatus": "unknown",
                    "modules": [
                        "ssh_sftpd"
                    ],
                    "packageName": "ssh",
                    "packageURL": "pkg:otp/ssh?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
                    "product": "OTP",
                    "programFiles": [
                        "src/ssh_sftpd.erl"
                    ],
                    "programRoutines": [
                        {
                            "name": "ssh_sftpd:handle_op/4"
                        }
                    ],
                    "repo": "https://github.com/erlang/otp",
                    "vendor": "Erlang",
                    "versions": [
                        {
                            "changes": [
                                {
                                    "at": "5.2.11.8",
                                    "status": "unaffected"
                                },
                                {
                                    "at": "5.5.2.1",
                                    "status": "unaffected"
                                },
                                {
                                    "at": "6.0.1",
                                    "status": "unaffected"
                                }
                            ],
                            "lessThan": "*",
                            "status": "affected",
                            "version": "3.0.1",
                            "versionType": "otp"
                        }
                    ]
                }

erlang/otp

https://github.com

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "collectionURL": "https://github.com",
                    "cpes": [
                        "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
                    ],
                    "defaultStatus": "unknown",
                    "modules": [
                        "ssh_sftpd"
                    ],
                    "packageName": "erlang/otp",
                    "packageURL": "pkg:github/erlang/otp",
                    "product": "OTP",
                    "programFiles": [
                        "lib/ssh/src/ssh_sftpd.erl"
                    ],
                    "programRoutines": [
                        {
                            "name": "ssh_sftpd:handle_op/4"
                        }
                    ],
                    "repo": "https://github.com/erlang/otp",
                    "vendor": "Erlang",
                    "versions": [
                        {
                            "lessThan": "8f4224a0d2676b0653d2c71a889a956e8c2c62d6",
                            "status": "affected",
                            "version": "08225797f7ef943d0c82a1d9dd6650d94ca2580d",
                            "versionType": "git"
                        },
                        {
                            "lessThan": "*",
                            "status": "unaffected",
                            "version": "8f4224a0d2676b0653d2c71a889a956e8c2c62d6",
                            "versionType": "git"
                        }
                    ]
                }

Original source record · Cite this exact observation · Complete original publisher JSON

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 12 Nov 17:32 UTC · 274 of 275 readable · 272 fully read · documentation 469/469 current