今天,我想聚焦一项重大发现——在 usememos/memos 中识别出一个关键安全漏洞。该漏洞属于本地文件包含(LFI)类别,对运行版本低于 0.13.2 的 usememos/memos 系统构成严重威胁。此问题已被分配 CVE 标识符 CVE-2023–4698。在这篇博客中,我们将剖析此漏洞,理解其影响,并强调修复它的紧迫性。
该漏洞的核心是一个本地文件包含(LFI)缺陷。此类漏洞允许攻击者通过利用代码中的弱点读取服务器上的任意文件。具体来说,此漏洞源于一个缺陷,使攻击者能够操纵请求中的"InternalPath"参数,最终导致包含服务器文件系统中的文件。
成功利用本地文件包含(LFI)漏洞的影响深远且令人担忧。对于运行受影响版本(< 0.13.2)的 usememos/memos 系统,后果可能包括:
此漏洞源于代码本身,主要位于 "resource.go" 文件的第 1 行至第 69 行。核心问题在于对用户输入的"InternalPath"字段缺乏充分的验证和清理。这一疏忽使得攻击者可以在创建或更新 Resource 时提供恶意的"InternalPath"值。该恶意输入随后被盲目地用于访问服务器文件系统中的敏感文件。
例如,攻击者可将"InternalPath"字段设置为"/etc/passwd"或"/proc/self/environ",试图获取服务器上的敏感文件。结果,服务器无意中泄露了这些内部文件的内容,可能暴露高度敏感的信息。
有关此漏洞的更多详细信息,请参阅以下资源:
您还可以关注我以获取我的研究及其他安全相关主题的最新信息:
让我们优先考虑安全,保护我们的系统免受潜在威胁。保持警惕!💻🔒