概要
遠端 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。這會影響 com.fasterxml.jackson.core:jackson-databind from 2.8.0 before , from 2.19.0 before 2.21.6和 2.22.22.22.0 from before ,以及 tools.jackson.core:jackson-databind 3.1.63.0.0 from before 和 3.2.0 from before3.2.2。2.18.10 使用者應升級至 2.18.10、 2.21.6、 2.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 結構描述詞彙文法允許任意長度的數值元件,JDK 會透過原生 BigInteger(String) 和 BigDecimal(String) 建構函式實現這些元件,這兩個建構函式的位數計數都是二次的。由於數字位於 JSON 字串權杖內,而不是 JSON 數字權杖中,因此 jackson-core 的 StreamReadConstraints.maxNumberLength 防護永遠不會套用;jackson 自己的 NumberDeserializers 會在剖析字串化數字之前呼叫 validateIntegerLength 或 validateFPLength,但 XML 資料類型還原序列化程式會省略該預先檢查。因此,未經身份驗證的攻擊者可以提交幾兆位元組的單一請求,例如由字母 P 後面接著數百萬位數字和字母 Y 組成的 Duration 值,並強制數十秒到幾分鐘的單執行緒 CPU 工作;少數並行要求可能會使伺服器的工作執行緒飽和。這會影響 com.fasterxml.jackson.core:jackson-databind from 2.0.0 before , from 2.19.0 before 2.21.6和 2.22.22.22.0 from before ,以及 tools.jackson.core:jackson-databind 3.1.63.0.0 from before 和 3.2.0 from before3.2.2。2.18.10 使用者應升級至 2.18.10、 2.21.6、 2.22.23.1.6、 或 3.2.2。(CVE-2026-68497)
DefaultBaseTypeLimitingValidator 是每當使用@JsonTypeInfo而沒有明確設定自訂驗證程式時自動套用的 PolymorphicTypeValidator。它只會針對一組固定的不安全基底類型拒絕多態性解析,而且其 isSafeSubType 方法會針對該集之外的每個基底類型無條件傳回 true。java.lang.Comparable 不存在於清單中,儘管是由很大一部分 JDK 和應用程式類別實作,其廣度與 java.io.Serializable 相當,後者因此而出現在清單上。以 Comparable 作為基底類型,且沒有自訂 PolymorphicTypeValidator 來宣告@JsonTypeInfo註解的屬性或類別的應用程式,基本上會接受任何實作 Comparable 類別的類型識別碼。這會產生攻擊者控制的物件實例化基本類型;示範案例會針對攻擊者選擇的任意路徑建構 java.io.File,如果應用程式隨後在值上呼叫路徑敏感方法,則該路徑會變成路徑遊走相鄰。尚未識別任何實作 Comparable 的類別僅透過反序列化產生程式碼執行。透過 activateDefaultTyping 的全域預設類型不受影響,因為該方法在結構上需要明確的 PolymorphicTypeValidator 引數。這會影響 com.fasterxml.jackson.core:jackson-databind from 2.11.0 before , from 2.19.0 before 2.21.6和 2.22.22.22.0 from before ,以及 tools.jackson.core:jackson-databind 3.1.63.0.0 from before 和 3.2.0 from before3.2.2。2.18.10 使用者應升級至 2.18.10、 2.21.6、 2.22.23.1.6、 或 3.2.2。(CVE-2026-83557)
FasterXML 中的 TypeDeserializerBase._findDeserializer() jackson-databind 將已解析的還原序列化程式快取在攻擊者提供的原始類型 ID 下。當以後援配置名稱型多態性時,例如 @JsonTypeInfo(use = Id.NAME, defaultImpl = ...),每個不同的無法辨識類型識別碼都會解析為相同的後援還原序列化程式,但在_deserializers對應中保留為自己的索引鍵。該對應沒有可設定的界限,而且會在類型還原序列化程式的存留期內存留,因此可以重複提供新的未知類型識別碼的攻擊者會在要求之間造成單調記憶體保留。報告者觀察到來自 10,000 個不同未知 ID 的 10,000 個保留條目,而控件的單個條目重複一個未知 ID 相同次數,從而將攻擊者控制的密鑰基數與請求量隔離開來。利用需要應用程式啟用具有 defaultImpl 或對等後援的名稱型多態性、接受受攻擊者影響的類型 ID,以及跨要求重複使用長期的 ObjectMapper。此修正程式會停止快取無法辨識識別碼的後援解決方案,並限制快取項目數目和可快取類型識別碼的長度。CVE-2026-91776
FasterXML 中@JsonIdentityInfo物件識別碼的前向參照完成 jackson-databind 會針對每一個已解析的識別碼,對擱置參照累加器執行線性掃描。受影響的路徑是 CollectionDeserializer.CollectionReferringAccumulator.resolveForwardReference() 和 MapDeserializer 中的對等實作。當文件先在啟用身分識別的集合或對應中建立 N 個未解析的物件識別碼參照,然後以相反的順序定義這些相同的識別碼時,完成會依 N * (N + 1) / 2 身分比較的順序執行,因此大小線性增長的淺層文件會在還原序列化期間造成二次 CPU 工作。報告器檢測了 ID 類別上的 equals() 呼叫,並在 N = 2,000 處測量了 2,003,000 次比較,而對於每個參照都已解析的大小相等的控制項,擱置參照查詢路徑中的比較為零。輸入不需要深層巢狀,也不需要語法上不尋常的 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' 來更新您的系統。
Plugin 詳細資訊
檔案名稱: 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