首页 网络安全 正文
  • 本文约1735字,阅读需9分钟
  • 195
  • 0

EMLOG Pro 2.6.2 SQL注入漏洞CVE-2026-34788

摘要

栋科技漏洞库关注到 EMLOG Pro 在 2.6.2 及之前版本中存在的 SQL 注入漏洞,该漏洞被追踪为CVE-2026-34788,CVSS 3.1评分8.1。

EMLOG Pro 是一个基于 PHP 语言的开源博客及网站建设系统,其后台界面清爽,操作直观,文章、分类、评论、附件管理一应俱全。

一、基本情况

EMLOG Pro 的整体风格务实省心,稳定性强,适合不想折腾复杂系统、追求够用、好用、长期稳定的站长,支持伪静态与基础 SEO。

EMLOG Pro 2.6.2 SQL注入漏洞CVE-2026-34788

EMLOG Pro 的模板与插件生态轻量化,修改成本低,适合二次开发,既能做纯粹个人博客,也能改成小型资讯站、笔记站或单页官网。

栋科技漏洞库关注到 EMLOG Pro 在 2.6.2 及之前版本中存在的 SQL 注入漏洞,该漏洞被追踪为CVE-2026-34788,CVSS 3.1评分8.1。

二、漏洞分析

CVE-2026-34788 存在于是 EMLOG Pro 在 2.6.2 及之前版本中,其 include/model/tag_model.php 文件第 168 行存在 SQL 注入漏洞。

其 include/model/tag_model.php 文件第 168 行,updateTagName () 函数将用户输入直接拼接到 SQL 查询语句中未使用参数化查询。

由于直接将用户输入的变量进行字符串插值,也未进行正确的转义处理($this->db->escape_string ()),导致存在 SQL 注入攻击风险。

攻击者可以通过后台管理功能构造恶意的 SQL 片段,实现对数据库的非法查询、篡改敏感数据,甚至可以获取系统更高级别的控制权。

因此,该漏洞的潜在风险包括已认证管理员可获取数据库完整读写权限,可能导致权限提升与数据泄露等等。

1、存在漏洞的代码(include/model/tag_model.php,第 166-170 行):

function updateTagName($tagId, $tagName, $kw, $title, $description)
{
    $sql = "UPDATE $this->table SET tagname='$tagName', kw='$kw', title='$title', description='$description' WHERE tid=$tagId";
    $this->db->query($sql);
}

注:同一文件中的其他方法(如第 162 行的 updateBlogTags)已正确使用$this->db->escape_string()进行转义,

updateTagName()方法未做该处理。

2、数据流向:

$_POST → Input::postStrVar() → addslashes() → updateTagName() → $this->db->query()

仅使用了addslashes()函数进行防护,

在部分配置环境下(如 GBK 字符集、NO_BACKSLASH_ESCAPES 模式等),该防护手段无法抵御 SQL 注入攻击。

3、修复建议

使用 $this->db->escape_string() 对用户输入进行安全转义,或直接使用参数化查询。

function updateTagName($tagId, $tagName, $kw, $title, $description) {
    $tagId = (int)$tagId;
    $tagName = $this->db->escape_string($tagName);
    $kw = $this->db->escape_string($kw);
    $title = $this->db->escape_string($title);
    $description = $this->db->escape_string($description);
    $sql = "UPDATE `$this->table` SET tagname='$tagName', kw='$kw', title='$title', description='$description' WHERE tid=$tagId";
    $this->db->query($sql);
}

三、POC概念验证

1、以管理员身份登录后台

2、进入标签管理页面

3、编辑任意标签,在标签名称输入框中注入 SQLPayload

4、示例 Payload

管理员已设置登录后刷新可查看

5、保存并观察 SQL 执行结果

四、影响范围

EMLOG Pro <= 2.6.2

五、修复建议

EMLOG Pro >= 2.6.9

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接