简介
远程 Amazon Linux 2023 主机缺少安全更新。
描述
因此,该软件受到 ALAS2023-2026-3305 公告中提及的多个漏洞影响。
jackson-databind 的 java.nio.file.Path 反序列化程序可在不限制 URI 方案的情况下解析攻击者提供的 URI。在 JDKFromStringDeserializer.NioPathHelper.deserialize 中,从不受信任的 JSON 绑定的字符串被传递到新的 URI(value),然后传递到 Path.of(uri)。当这抛出 FileSystemNotFoundException 时,代码会枚举 ServiceLoader<FileSystemProvider> ,并在方案与攻击者所选方案相匹配的第一个提供程序上调用 provider.getPath(uri)。因此,不受信任的 JSON 可在默认 JsonMapper 下的 readValue 期间选择和驱动任意已注册的 FileSystemProvider,并同时强制提供程序类加载。仅存在 JDK 内置提供程序(file、jar/zipfs)时,解析的路径是惰性的,不会发生挂载或网络 I/O;
进一步的影响要求类路径中有副作用的第三方 FileSystemProvider。这会影响之前2.18.10、之前2.19.02.21.6和之前的 2.22.22.22.0 com.fasterxml.jackson.core:jackson-databind2.8.0,以及之前和3.2.23.2.0之前的 tools.jackson.core:jackson-databind。3.0.03.1.6 用户应升级到 2.18.10、 、 2.21.62.22.23.1.6或 3.2.2。无论版本如何,应避免从不受信任的 JSON 绑定 java.nio.file.Path。(CVE-2026-19032)
jackson-databind 通过将原始字符串逐字传递到 CoreXMLDeserializers.Std._deserialize 中的 DatatypeFactory.newDuration(value) 或 newXMLGregorianCalendar(value),将 JSON 字符串绑定到 javax.xml.datatype.Duration 或 javax.xml.datatype.XMLGregorianCalendar 字段。这些反序列化器默认注册时无需选择加入,因此没有多态类型且无特殊配置的普通 ObjectMapper 或 JsonMapper 会到达此路径。XML Schema 词法语法允许任意长度的数值组件,JDK 通过本机 BigInteger(String) 和 BigDecimal(String) 构造函数实现这些组件,两者都是位数二次的。由于数字位于 JSON 字符串标记而不是 JSON 数字标记中,因此 jackson-core 的 StreamReadConstraints.maxNumberLength 防护永远不会应用;jackson 自己的 NumberDeserializers 在解析字符串化数字之前调用 validateIntegerLength 或 validateFPLength,但 XML 数据类型反序列化程序省略了该预检查。因此,未经认证的攻击者可提交数兆字节的单个请求,例如由字母 P 后接几百万位数字和字母 Y 组成的 Duration 值,并强制数十秒到数分钟的单线程 CPU 工作;少量并发请求可使服务器的工作线程饱和。这会影响之前2.18.10、之前2.19.02.21.6和之前的 2.22.22.22.0 com.fasterxml.jackson.core:jackson-databind2.0.0,以及之前和3.2.23.2.0之前的 tools.jackson.core:jackson-databind。3.0.03.1.6 用户应升级到 2.18.10、 、 2.21.62.22.23.1.6或 3.2.2。(CVE-2026-68497)
DefaultBaseTypeLimitingValidator 是在没有显式配置的自定义验证器的情况下使用@JsonTypeInfo时自动应用的 PolymorphicTypeValidator。它仅拒绝一组固定的不安全基类型的多态解析,并且其 isSafeSubType 方法对该集之外的每个基类型无条件返回 true。尽管 java.lang.Comparable 由很大一部分 JDK 和应用程序类实现,但在广度上与 java.io.Serializable 相当,但列表中没有 java.lang.Comparable,后者因此出现在列表中。以 Comparable 作为其基本类型声明@JsonTypeInfo注释的属性或类,并且没有自定义 PolymorphicTypeValidator 的应用程序将接受基本上任何实现 Comparable 的类的类型标识符。这会产生攻击者控制的对象实例化原语;演示的案例为攻击者选择的任意路径构造 java.io.File,如果应用程序随后对该值调用路径敏感方法,则该路径会变为路径遍历邻近。尚未确定实现 Comparable 的类仅通过反序列化导致代码执行。通过 activateDefaultTyping 进行的全局默认分型不受影响,因为该方法在结构上需要明确的 PolymorphicTypeValidator 参数。这会影响之前2.18.10、之前2.19.02.21.6和之前的 2.22.22.22.0 com.fasterxml.jackson.core:jackson-databind2.11.0,以及之前和3.2.23.2.0之前的 tools.jackson.core:jackson-databind。3.0.03.1.6 用户应升级到 2.18.10、 、 2.21.62.22.23.1.6或 3.2.2。(CVE-2026-83557)
FasterXML jackson-databind 中的 TypeDeserializerBase._findDeserializer() 将已解析的反序列化器缓存在攻击者提供的原始类型 ID 下。当基于名称的多态性配置了回退时,例如 @JsonTypeInfo(use = Id.NAME, defaultImpl = ...),每个不同的无法识别的类型 ID 都会解析为相同的回退反序列化器,但在 _deserializers 映射中保留为自己的密钥。该映射没有可配置的边界,并且会在类型反序列化器的生命周期内持续存在,因此能够重复提供新鲜未知类型 ID 的攻击者可能会造成跨请求单调的内存保留。报告者观察到 10,000 个不同未知 ID 中的 10,000 个保留条目,而对于重复一个未知 ID 相同次数的控件的单个条目,从而将攻击者控制的密钥基数与请求量隔离开来。要利用此漏洞,需要应用程序通过 defaultImpl 或同等回退启用基于名称的多态性,接受受攻击者影响的类型 ID,并跨请求重用长期限 ObjectMapper。此补丁停止为无法识别的 ID 缓存回退解析,并限制缓存的条目数和可缓存类型 ID 的长度。CVE-2026-91776
FasterXML 中@JsonIdentityInfo对象 ID 的前向引用完成 jackson-databind 对每个解析 ID 的待定引用累加器执行线性扫描。受影响的路径为 CollectionDeserializer.CollectionReferringAccumulator.resolveForwardReference() 以及 MapDeserializer 中的等同实现。当文档首先在启用了身份的集合或映射中创建 N 个未解析的对象 ID 引用,然后以相反的顺序定义这些相同的 ID 时,将按照 N * (N + 1) / 2 个身份比较的顺序执行完成,因此大小线性增长的浅层文档会在反序列化期间造成二次 CPU 功。报告器对 ID 类检测了 equals() 调用,并在 N = 2,000 处恰好测量了 2,003,000 次比较,而对于大小相等的控件(其中每个引用都已解析)的待定引用查找路径中的 0 次比较。该输入不需要深层嵌套,也不需要语法异常的 JSON。要利用此漏洞,需要应用程序将受攻击者影响的 JSON 反序列化为启用身份的集合或映射。此补丁将重复的线性查找替换为带键控的待定引用结构。(CVE-2026-91777)
Tenable 已直接从测试产品的安全公告中提取上述描述块。
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“dnf update jackson-databind --releasever 2023.12.20261026”或“dnf update --advisory ALAS2023-2026-3305 --releasever 2023.12.20261026”以更新系统。
插件详情
文件名: al2023_ALAS2023-2026-3305.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:H/Au:N/C:P/I:P/A:P
矢量: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:jackson-databind
必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
易利用性: No known exploits are available