Skip to content

File 消息段下载远程文件时未清洗文件名导致路径异常 #8317

@liuwanwan1

Description

@liuwanwan1

问题

File._download_file() 在下载远程文件时会直接把 File.name 拼入临时文件名。部分平台上游返回的文件名可能包含 /\ 或空字节等字符,此时下载目标路径会被意外拆成子目录,导致下载失败;在极端情况下也会让临时文件路径偏离预期的单文件名形式。

影响

  • 使用 URL 构造 File 消息段并转发到需要本地文件的平台时,异常文件名可能导致 get_file() 失败。
  • 文件名来自外部平台或用户输入,不能假设始终是安全 basename。

期望

下载远程 File 时应只使用清洗后的 basename,移除空字节,并在临时目录不存在时主动创建目录。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions