简介
远程 Amazon Linux 2 主机缺少安全更新。
描述
远程主机上安装的 perl-Text-CSV_XS 版本低于 1.00-3. 因此,该软件受到 ALAS2-2026-4048 公告中提及的多个漏洞影响。
Text::CSV_XS 之前 1.65 的版本对于 Perl 泄漏无法在 getline 中解析的记录的已解析字段。
getline 将记录的字段收集到一个新数组中,并且仅在解析成功时才返回对该记录的引用。当记录存在语法错误时,getline 会返回 undef,并且永远不会释放数组或错误发生前解析的字段。
解析不受信任的 CSV 的长时间运行进程会保留其发送的每条畸形记录,因此反复的畸形输入会耗尽其内存。(CVE-2026-110754)
之前的 Perl Text::CSV_XS 版本 1.65 允许通过复制 getline 中仅 CR 输入的每条记录未解析的余数来使用二次 CPU。
取消设置 eol(默认)时,getline 读取包含 Perl 的默认行分隔符,因此仅含 CR 行结尾的输入会作为一个区块到达。在每条记录之后,解析器将整个未解析的余数复制到一个新缓冲区中,下一个调用会再次解析并复制该缓冲区,因此工作量会随着输入大小的平方而增加。
发送包含经典 Mac 行结尾 CSV 的具有默认选项的阅读器在一兆字节的输入上花费了几秒钟的 CPU 时间。(CVE-2026-110755)
对于 Perl,Text::CSV_XS 之前 1.65 的版本会在打印中带 UTF-8 标记的字段位于无效的 UTF-8 字节之前时,删除记录的结尾及其行结尾。
当记录包含带 UTF-8 标记的字段时,print 会在每次缓冲区刷新时保留非有效 UTF-8 的末尾字节,以便完成在两次刷新中拆分字符。没有任何内容会在记录的最终刷新之后写入保留的字节。最后一个字段以此类字节结尾的记录将丢失它、任何右引号和行结尾,而 print 仍返回 true。combine 不受影响。
下一条记录写入同一行,或者,当引用最后一个字段时,缺失的结尾引号使读者将后续每条记录作为该字段的一部分。(CVE-2026-110756)
Text::CSV_XS 之前 1.65 的 Perl 版本允许通过在组合中写入不带引号的数字使用的字符串来拆分记录。
combine 和 print 未检查字段值已设置 Perl 的整数或数字标记时是否需要引号。当解析为数字时,Perl 在数值运算中使用的字符串上设置这些标记,允许首尾空白。使用二进制集时,与 csv 默认一样,12\n 通过 $qty 检查,例如 > 0,然后以其换行符无引号写入。
作为数字验证的值可以提前结束记录,并将记录之后的字段转换为单独的行。
(CVE-2026-110757)
Text::CSV_XS 之前 1.65 的版本对于 Perl 在 strip_trail_whitespace 中 allow_whitespace 下的全空白字段开始之前进行读取。
在allow_whitespace下,strip_trail_whitespace从每个未加引号的字段中删除末尾空格和制表符,而不在字段的开头停止。对于只有空白的字段,它会读取该字段的堆缓冲区之前的字节。如果该字节也是空格或制表符,则可能会将其归零并继续向后移动,具体取决于分配器放置在那里的内容。
通常会在存储字段之前跳过前导空白,但全空白字段仍会在与 quote_char 不同的前导escape_char之后到达,或者当其行以两个 CR 结尾时作为 getline 中的引用字段。CVE-2026-110758
之前的 Perl 版本 1.65 Text::CSV_XS 返回一个不在最后一个空字段的输入中的0xFF字节,后跟解析中的单个 CR。
当要解析的输入以分隔符和单独的 CR 结尾时,解析器会将输入的结尾视为下一个字符,并将字段中的文件结尾标记存储为字节0xFF。通过二进制集,parse(a,\r) 返回字段 a 和 \xFF。在带 UTF-8 标记的输入中,最后一个字段是带 UTF-8 标记的字符串,它保留了该单独的字节,该字节是畸形 UTF-8。具有非空最后一个字段的相同输入将作为错误被拒绝。
当最后一列为空时,逐行读取和 chomped 的 CRLF 文件以此方式结束,因此应用程序会收到一个不在其输入中的字节。(CVE-2026-110759)
Tenable 已直接从测试产品的安全公告中提取上述描述块。
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“yum update perl-Text-CSV_XS”或“yum update --advisory ALAS2-2026-4048”更新系统。
插件详情
文件名: al2_ALAS-2026-4048.nasl
代理: unix
支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:perl-text-csv_xs-debuginfo, p-cpe:/a:amazon:linux:perl-text-csv_xs
必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
易利用性: No known exploits are available