Ollama DNS 重新绑定攻击 (CVE-2024-28224)

2024-08-30 18:36

本文主要是介绍Ollama DNS 重新绑定攻击 (CVE-2024-28224),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概括:

Ollama 是一个用于运行和管理大型语言模型 (LLM) 的开源系统。

NCC 集团发现 Ollama 中存在一个 DNS 重绑定漏洞,该漏洞允许攻击者在未经授权的情况下访问其 API,并执行各种恶意活动,例如从易受攻击的系统中窃取敏感文件数据。

Ollama 在版本 v0.1.29 中修复了此问题。Ollama 用户应更新至此版本或更高版本。

影响:

Ollama DNS 重新绑定漏洞允许攻击者远程完全访问 Ollama API,即使易受攻击的系统未配置为公开其 API。访问 API 允许攻击者窃取运行 Ollama 的系统上的文件数据。攻击者可以执行其他未经授权的活动,例如与 LLM 模型聊天、删除这些模型以及通过资源耗尽引发拒绝服务攻击。一旦连接到恶意 Web 服务器,DNS 重新绑定最快可在 3 秒内完成。

细节:

Ollama 容易受到DNS 重新绑定攻击,这种攻击可被用来绕过浏览器同源策略(SOP)。攻击者可以与 Ollama 服务进行交互,并在用户台式机或服务器上调用其 API。

攻击者必须引导在计算机上运行 Ollama 的 Ollama 用户通过常规或无头 Web 浏览器(例如,在服务器端 Web 抓取应用程序的上下文中)连接到恶意 Web 服务器。恶意 Web 服务器执行 DNS 重新绑定攻击,以迫使 Web 浏览器代表攻击者与易受攻击的 Ollama 实例和 API 进行交互。

Ollama API 允许管理和运行本地模型。它的几个 API 可以访问文件系统,并且可以从远程存储库拉取/检索数据。一旦 DNS 重新绑定攻击成功,攻击者就可以对这些 API 进行排序,以读取 Ollama 运行的进程可访问的任意文件数据,并将这些数据泄露到攻击者控制的系统中。

NCC Group 使用以下步骤成功实施了概念验证数据泄露攻击:

部署 NCC Group 的Singularity of Origin DNS 重新绑定应用程序,其中包括配置“恶意主机”和执行 DNS 重新绑定攻击的组件。

一旦实现 DNS 重新绑定,Singularity 就需要开发攻击负载来利用 Ollama 等特定应用程序。下面提供了一个用 JavaScript 编写的概念验证负载。EXFILTRATION_URL必须将变量配置为指向攻击者拥有的域(例如),以便attacker.com从易受攻击的主机发送窃取的数据。

/**
这是从运行 Ollama 的主机中窃取文件的示例有效负载
**/ const OllamaLLama2ExfilData = () =>

这篇关于Ollama DNS 重新绑定攻击 (CVE-2024-28224)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121616

相关文章

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

DNS查询的利器! linux的dig命令基本用法详解

《DNS查询的利器!linux的dig命令基本用法详解》dig命令可以查询各种类型DNS记录信息,下面我们将通过实际示例和dig命令常用参数来详细说明如何使用dig实用程序... dig(Domain Information Groper)是一款功能强大的 linux 命令行实用程序,通过查询名称服务器并输

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示