Alist has Insecure TLS Config
Description
Alist is a file list program that supports multiple storages, powered by Gin and Solidjs. Prior to version 3.57.0, the application disables TLS certificate verification by default for all outgoing storage driver communications, making the system vulnerable to Man-in-the-Middle (MitM) attacks. This enables the complete decryption, theft, and manipulation of all data transmitted during storage operations, severely compromising the confidentiality and integrity of user data. This issue has been patched in version 3.57.0.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Alist prior to v3.57.0 disables TLS certificate verification by default for outgoing storage communications, enabling MitM attacks that decrypt, steal, and modify all transmitted data.
Vulnerability
Description
Alist is a file list program that supports multiple storage backends. Prior to version 3.57.0, the application disables TLS certificate verification by default for all outgoing storage driver communications. The TlsInsecureSkipVerify setting is set to true in the DefaultConfig() function in internal/conf/config.go, meaning that every storage driver connection—whether to cloud storage providers or other services—will accept any TLS certificate without validation [2].
Attack
Vector and Exploitation
This misconfiguration makes the system vulnerable to Man-in-the-Middle (MitM) attacks. An attacker positioned on the network between the Alist server and its storage backends (e.g., via ARP spoofing, rogue Wi-Fi, or compromised network infrastructure) can intercept the TLS connection. Since certificate verification is skipped, the Alist server will unknowingly establish encrypted connections with attacker-controlled servers instead of the legitimate storage endpoints [2]. A proof-of-concept described in the advisory demonstrates this by modifying /etc/hosts to redirect a storage domain to a malicious TLS server, successfully capturing authentication cookies [2].
Impact
Successful exploitation allows the attacker to decrypt, steal, and manipulate all data transmitted during storage operations [1][2]. This can include authentication credentials (such as cookies or tokens for storage providers) and the actual stored file content. The confidentiality and integrity of all user data managed by the Alist instance are severely compromised, and the attack may occur without triggering any security warnings in the application [2].
Mitigation
The vulnerability has been patched in Alist version 3.57.0. The fix changes the TLS configuration to use a global setting that defaults to secure verification, and the system now logs a prominent security warning if TLS certificate verification is explicitly disabled by an administrator [2][4]. Users should update to version 3.57.0 or later immediately. No workaround is available beyond disabling any storage drivers that rely on insecure TLS settings, but a full upgrade is strongly recommended.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/alist-org/alist/v3Go | < 3.57.0 | 3.57.0 |
Affected products
2- AlistGo/alistv5Range: < 3.57.0
Patches
15 files changed · +13 −4
drivers/webdav/meta.go+0 −1 modified@@ -11,7 +11,6 @@ type Addition struct { Username string `json:"username" required:"true"` Password string `json:"password" required:"true"` driver.RootPath - TlsInsecureSkipVerify bool `json:"tls_insecure_skip_verify" default:"false"` } var config = driver.Config{
drivers/webdav/util.go+2 −1 modified@@ -6,6 +6,7 @@ import ( "net/http/cookiejar" "github.com/alist-org/alist/v3/drivers/webdav/odrvcookie" + "github.com/alist-org/alist/v3/internal/conf" "github.com/alist-org/alist/v3/internal/model" "github.com/alist-org/alist/v3/pkg/gowebdav" ) @@ -20,7 +21,7 @@ func (d *WebDav) setClient() error { c := gowebdav.NewClient(d.Address, d.Username, d.Password) c.SetTransport(&http.Transport{ Proxy: http.ProxyFromEnvironment, - TLSClientConfig: &tls.Config{InsecureSkipVerify: d.TlsInsecureSkipVerify}, + TLSClientConfig: &tls.Config{InsecureSkipVerify: conf.Conf.TlsInsecureSkipVerify}, }) if d.isSharepoint() { cookie, err := odrvcookie.GetCookie(d.Username, d.Password, d.Address)
internal/bootstrap/config.go+9 −0 modified@@ -70,6 +70,15 @@ func InitConfig() { if !conf.Conf.Force { confFromEnv() } + if conf.Conf.TlsInsecureSkipVerify { + log.Warn("SECURITY WARNING / 安全警告:") + log.Warn("TLS certificate verification is disabled.") + log.Warn("TLS 证书校验已被禁用。") + log.Warn("This exposes all storage traffic to MitM attacks and may leak credentials or allow data tampering.") + log.Warn("这会使所有存储通信暴露于中间人攻击(MitM),可能导致凭据泄露和数据被篡改。") + log.Warn("Only use this setting if you fully understand the risks.") + log.Warn("仅在你完全理解风险的情况下使用该配置。") + } // convert abs path if !filepath.IsAbs(conf.Conf.TempDir) { absPath, err := filepath.Abs(conf.Conf.TempDir)
internal/conf/config.go+1 −1 modified@@ -156,7 +156,7 @@ func DefaultConfig() *Config { }, MaxConnections: 0, MaxConcurrency: 64, - TlsInsecureSkipVerify: true, + TlsInsecureSkipVerify: false, Tasks: TasksConfig{ Download: TaskConfig{ Workers: 5,
server/handles/ldap_login.go+1 −1 modified@@ -150,7 +150,7 @@ func dial(ldapServer string) (*ldap.Conn, error) { } if tlsEnabled { - return ldap.DialTLS("tcp", ldapServer, &tls.Config{InsecureSkipVerify: true}) + return ldap.DialTLS("tcp", ldapServer, &tls.Config{InsecureSkipVerify: conf.Conf.TlsInsecureSkipVerify}) } else { return ldap.Dial("tcp", ldapServer) }
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-8jmm-3xwx-w974ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-25160ghsaADVISORY
- github.com/AlistGo/alist/commit/69629ca76a8f2c8c973ede3b616f93aa26ff23fbghsax_refsource_MISCWEB
- github.com/AlistGo/alist/releases/tag/v3.57.0ghsaWEB
- github.com/AlistGo/alist/security/advisories/GHSA-8jmm-3xwx-w974ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.