CWE-59:不当链接之前决议文件访问(“链接后”)
描述
产品基于文件名试图访问一个文件,但它不适当阻止,文件名标识一个链接或快捷方式,解决了一个意想不到的资源。
替代条款
不安全的临时文件: |
有些人使用这个词“不安全的临时文件”指一个链接后的弱点,但其他弱点可以产生不安全的临时文件没有任何符号链接参与。 |
邮政单: |
|
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
706年 |
使用Incorrectly-Resolved名称或引用 |
ParentOf |
组合——一个复合元素包含两个或两个以上不同的弱点,所有弱点必须出现在同一时间为了一个潜在的漏洞出现。删除任何缺点消除或大大降低了风险。一个弱点,X,可以“分解”组件弱点Y和z可以有弱点在哪些情况下可能不是必要的复合,但复合的性质变化时变成了弱点。 |
61年 |
UNIX符号链接(符号链接) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
62年 |
UNIX硬链接 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
64年 |
Windows快捷方式后(.LNK) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
65年 |
Windows硬链接 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1386年 |
不安全的操作在Windows上结/挂载点 |
光束 |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
73年 |
外部控制文件名或路径 |
光束 |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
363年 |
竞态条件使链接后 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“软件开发”(cwe - 699)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1219年 |
文件处理问题 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
706年 |
使用Incorrectly-Resolved名称或引用 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关视图”架构概念”(cwe - 1008)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1019年 |
验证输入 |
背景细节
软链接是一个UNIX术语是简单快捷键在windows平台上的同义词。
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
实现 |
实现:造成这一弱点在建筑安全策略的实施。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 访问控制
|
技术的影响:阅读文件或目录;修改文件或目录;旁路保护机制
攻击者可以遍历文件系统,以意想不到的地点和读或覆盖意想不到的文件的内容。如果文件被用于安全机制,那么攻击者可以绕过机制。 |
|
其他
|
Windows快捷方式简单,有时被称为软链接,可以利用远程自”。LNK“上传文件可以像一个正常的文件。这可以使远程执行。 |
|
利用的可能性
观察到的例子
参考 |
描述 |
|
一些版本的Perl遵循符号链接时使用- e选项,它允许本地用户覆盖任意文件通过一个符号链接攻击。 |
|
文本编辑器创建救援时遵循符号链接复制在异常退出,它允许本地用户覆盖其他用户的文件。 |
|
防病毒更新允许本地用户创建或添加到任意文件通过一个符号链接攻击一个日志文件。 |
|
符号链接攻击允许本地用户覆盖文件。 |
|
窗口管理器不妥善处理当某些符号链接指向“过时”的位置,这可能允许本地用户创建或截断任意文件。 |
|
二阶符号链接漏洞 |
|
二阶符号链接漏洞 |
|
符号链接在Python程序 |
|
Setuid产品允许文件阅读通过替换一个文件正在编辑符号链接到目标文件,解析失败时泄露导致的错误消息。 |
|
信号引起抛售,符号链接。 |
|
硬链接攻击,文件覆盖;有趣,因为程序检查软链接 |
|
硬链接和符号链接在嵌入式操作系统漏洞允许本地用户覆盖任意文件。 |
|
作为根用户服务器创建硬链接和分开的文件,它允许本地用户获得特权被删除和覆盖任意文件。 |
|
操作系统允许本地用户进行拒绝服务通过创建硬链接从一个设备特殊文件到一个文件在一个NFS文件系统。 |
|
虚拟主机管理器之前硬链接,允许本地用户读取或修改任意文件。 |
|
包装清单系统允许本地用户覆盖任意文件通过一个硬链接lockfiles攻击。 |
|
硬链接竞态条件 |
|
邮件客户端允许远程攻击者绕过用户警告等可执行附件. exe, com,并通过.lnk。bat文件指的是附件,又名“隐形依恋。” |
|
FTP服务器允许远程攻击者读取任意文件和目录的上传.lnk(链接)文件指向目标文件。 |
|
FTP服务器允许远程攻击者读取任意文件和目录的上传.lnk(链接)文件指向目标文件。 |
|
浏览器允许远程恶意网站覆盖任意文件通过诱骗用户下载.LNK两次(链接)文件,它覆盖第一个.LNK文件中引用的文件。 |
|
“.LNK。”- .LNK with trailing dot |
|
rootkit能绕过文件访问限制到Windows内核目录使用NtCreateSymbolicLinkObject函数创建符号链接 |
|
文件系统允许本地攻击者隐藏文件使用活动通过一个硬链接到目标文件,导致链接被记录在审计跟踪的目标文件。 |
|
Web服务器插件允许本地用户覆盖任意文件通过一个符号链接攻击可预测的临时文件名。 |
|
Libcontainer用于码头工人引擎允许本地用户逃避集装箱化和写作上的任意文件通过一个符号链接攻击主机系统在一个图像与一个容器。 |
|
“Zip”漏洞Go-based开放容器倡议(OCI)注册产品允许写作目的以外的任意文件目录通过符号链接或gzip压缩文件的硬链接。 |
|
“Zip”漏洞在容器管理产品允许写作目的以外的任意文件目录(通过一个容器形象。焦油和文件名格式),符号链接指向其他文件在相同的tar文件;然而,文件也可以是符号链接指向目的地以外的目的目录,绕过最初的检查。 |
潜在的缓解措施
阶段:体系结构和设计
遵循最小特权原则分配访问权限实体在一个软件系统。
拒绝访问一个文件可以防止攻击者替换该文件链接到一个敏感文件。确保良好的系统提供保护区的划分,可以信任。
|
弱点Ordinalities
Ordinality |
描述 |
合成 |
(缺点是通常与其他弱点的存在) |
检测方法
自动静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
|
人工静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
|
动态分析与自动化的结果解释
根据飙升,以下检测技术可能是有用的:
-
Web应用程序扫描
-
Web服务的扫描仪
-
数据库扫描仪
|
动态分析与人工解释结果
根据飙升,以下检测技术可能是有用的:
|
人工静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
关注人工抽查,手动分析来源
-
手工源代码审查(不检查)
|
自动静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
源代码缺陷分析仪
-
Context-configured源代码分析器
|
体系结构或设计审查
根据飙升,以下检测技术可能是有用的:
|
功能区域
影响资源
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 |
类型 |
ID |
的名字 |
MemberOf |
视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 |
635年 |
最初使用的弱点NVD从2008年到2016年 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
743年 |
CERT C安全编码标准(2008)第十章-输入输出(FIO) |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
748年 |
CERT C安全编码标准(2008)附录- POSIX (POS) |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
808年 |
2010年处于25 -弱点 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
877年 |
CERT c++安全编码部分09 -输入输出(FIO) |
MemberOf |
视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 |
884年 |
CWE横截面 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
980年 |
SFP二级集群:链接资源名称解析 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1185年 |
07年SEI CERT Perl编码标准,指导方针。文件输入和输出(FIO) |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1345年 |
OWASP 2021年十大类别A01:2021——破碎的访问控制 |
笔记
理论
链接以下漏洞多因素漏洞(MFV)。他们是多个元素的组合:文件或目录的权限,文件名可预测性,竞态条件,在某些情况下,一个设计限制,没有执行原子文件创建操作的机制。
一些潜在的因素是竞争条件、权限和可预测性。
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
千鸟 |
|
|
链接后 |
CERT C安全编码 |
FIO02-C |
|
规范化路径名来自不受信任的来源 |
CERT C安全编码 |
POS01-C |
|
检查链接在处理文件的存在 |
SEI CERT Perl编码标准 |
FIO01-PL |
CWE更具体 |
不操作文件,不受信任的用户可以修改吗 |
软件故障模式 |
SFP18 |
|
链接资源名称解析 |
引用
(ref - 62)马克·多德约翰麦克唐纳和贾斯汀Schuh。“软件安全评估的艺术”。第9章,“符号链接攻击”,518页。1版。艾迪生卫斯理》2006。 |
|
|