全球数万个依赖地理空间功能的网站,可能正面临一场无声的数据库劫持。一份最新威胁情报显示,流行Python Web框架中与地图处理相关的一个SQL注入漏洞,已在真实攻击中被反复利用,攻击者的目标异常精准——凡是用了PostGIS存储地理数据的应用,都成了猎物。
这个编号CVE-2026-1207的漏洞驻扎在Django(知名Python Web框架)的GIS模块里。今年2月官方披露时,它还只是同批次安全更新中若干问题之一,其他漏洞大多只被标为“低危”或“中危”,唯有它剑指数据库直捣黄龙。它的影响面很有选择:只对启用GeoDjango且后端接PostGIS的应用起作用——恰好是那些做位置服务、地图平台、数据分析系统的标准配置。
漏洞出在框架处理栅格字段查找的内部逻辑中,具体来说是对“band”索引参数缺乏充分校验。攻击者能够在请求里塞入包含恶意SQL代码的band参数值,进而迫使后端数据库执行意外查询。这些查询不会惊动应用层,却可以偷偷把敏感数据带回攻击者手中,或者直接篡改后端记录。
安全厂商CrowdSec的监测数据显示,公开披露后不久,也就是2026年2月底,第一批攻击试探就冒出来了,随后一直维持着平稳的攻击节奏。有趣的是,这不像常见的无差别扫描,攻击者更倾向于先判断目标是不是带有PostGIS支持的Django实例,再下手。他们似乎在甄选高价值系统,而非广撒网。最常见的攻击姿势是向处理栅格查询的接口发送特殊构造的HTTP请求:先在请求参数里嵌入SQL片段,让数据库返回报错或泄露结构信息,再慢慢根据返回的结果调整注入策略,最终实现提取敏感记录或提升访问权限。
即便攻击的前置条件需要一套特定的技术栈,一旦命中,后果足以让管理员冒冷汗。攻击者可能绕过应用逻辑、翻阅保密数据、或篡改存储信息。考虑到Django在企业和政府机构中大面积使用,这点受限的攻击面仍然把很大一块风险摊在了桌面上。
Django团队已同步发布修复版本,分别是6.0.2、5.2.11和4.2.28。这些补丁不仅堵上了SQL注入的口子,还一并处理了拒绝服务条件和认证薄弱环节。还在运行老旧版本的机构,除了尽快升级,几乎没有绕过去的坦途。
热门跟贴