
CVE-2026-24880: क्या Apache का अपग्रेड सलाह वास्तव में आपके Tomcat पर लागू होती है? संस्करण तुलना के बजाय क्लास की उपस्थिति से फिक्स का पता लगाता है। 7.0/8.0/8.5/9.0/10.0/10.1/11.0 लाइनों को कवर करता है।
CVE-2026-24880 · GHSA-563x-q5rq-57qp —— Apache का वह कथन
upgrade to version 11.0.20, 10.1.52 or 9.0.116 आप पर लागू होता है या नहीं?
अधिकांश लोगों पर लागू नहीं होता, और इसके चार अलग-अलग कारण हैं। यह टूल आपके आर्टिफैक्ट को स्कैन करके बताता है कि आप किस श्रेणी में आते हैं।
java -jar tomcat-line-check.jar /path/to/tomcat # अनज़िप करके तैनात किया गया Tomcat
java -jar tomcat-line-check.jar app.war # war
java -jar tomcat-line-check.jar app.jar # Spring Boot fat jar
java -jar tomcat-line-check.jar --table # केवल सात पंक्तियों की निर्णय तालिका देखें
java -jar tomcat-line-check.jar --utf8 ... # Windows कंसोल पर चीनी अक्षर गड़बड़ होने पर जोड़ें
unzip -l tomcat-coyote-<ver>.jar | grep ChunkExtension
org/apache/tomcat/util/http/parser/ChunkExtension.class मौजूद = फिक्स शामिल है; अनुपस्थित = फिक्स नहीं है।
🔴 यह टूल संस्करण संख्या की तुलना करके फिक्स का निर्णय नहीं करता —— क्योंकि संस्करण संख्या का दावा ही इस CVE पर त्रुटि का स्रोत है।
निर्णय तालिका tools/gen_table.py द्वारा प्राथमिक स्रोतों से उत्पन्न होती है; सात समूहों की जाँचें पास न होने पर तालिका जारी नहीं की जाती।
| पंक्ति | अंतिम संस्करण | EOL | फिक्स मौजूद | निकास |
|---|---|---|---|---|
| 7.0 | 7.0.109 | 2021-03-31 | नहीं | ❌ 7.0.110 = 404 |
| 8.0 | 8.0.53 | 2018-06-30 | नहीं | ❌ 8.0.54 = 404 |
| 8.5 | 8.5.100 | 2024-03-31 | नहीं | ❌ 8.5.101 = 404 |
| 10.0 | 10.0.27 | 2022-10-31 | नहीं | ❌ 10.0.28 = 404 |
| 9.0 | 9.0.121 | 2027-03-31 | 9.0.115 में नहीं | ✅ 9.0.116 |
| 10.1 | 10.1.59 | EOL नहीं | 10.1.52 में नहीं | ✅ 10.1.53 |
| 11.0 | 11.0.25 | EOL नहीं | 11.0.18 में नहीं | ✅ 11.0.20 |
① आप 8.5 / 7.0 / 8.0 पंक्ति पर हैं —— आधिकारिक रूप से दिए गए तीन संस्करणों में से कोई भी आपकी पंक्ति पर नहीं है,
और आपकी पंक्ति बंद कर दी गई है (8.5.101 / 7.0.110 / 8.0.54 Maven Central पर 404 हैं)।
8.0 विशेष है: आधिकारिक रूप से इसे unknown चिह्नित किया गया है, यहाँ तक कि "आप प्रभावित हैं या नहीं" का उत्तर भी नहीं दिया गया।
② आप 10.1 पंक्ति पर हैं —— आधिकारिक रूप से आपको 10.1.52 पर अपग्रेड करने को कहा गया है, जबकि 10.1.52 में स्वयं फिक्स नहीं है।
उसी घोषणा के पिछले अनुच्छेद में 10.1.0-M1 through 10.1.52 को प्रभावित सूची में रखा गया है।
Apache का अपना security-10.html
इस CVE को 10.1.53 अनुभाग में रखता है; compare 10.1.52...10.1.53 में वास्तव में फिक्स commit f07df938 शामिल है।
→ उस कथन के अनुसार अपग्रेड करना = अपग्रेड न करना।
③ आप 10.0 पंक्ति पर हैं —— आधिकारिक घोषणा में 10.0. 0 बार आता है।
न तो प्रभावित सूची में, न ही दो unknown प्रविष्टियों में; GitHub advisory के दोनों अंतराल
(>= 7.0.0, < 9.0.116 और >= 10.1.0-M1, < 10.1.52) भी इसे कवर नहीं करते।
जबकि 10.0.27 के ChunkedInputFilter सदस्य 7.0.109 / 8.5.100 के समान शब्द-दर-शब्द हैं, और 10.0.28 404 है।
→ किसी भी स्रोत ने 10.0 के प्रभावित होने का उत्तर नहीं दिया।
④ आप Dependabot / OSV उपयोग कर रहे हैं —— GitHub advisory ने 7.0/8.5/9.0 को एक अंतराल में समेट दिया है,
first_patched_version = 9.0.116, इसलिए मशीन 8.5 उपयोगकर्ताओं को 9.0.116 पर अपग्रेड करने को कहेगी।
वह एक अलग प्रमुख संस्करण पंक्ति है, पैच नहीं।
low देती है (GitHub advisory high / CVSS 7.5 चिह्नित करता है)।
दोनों संख्याएँ यहाँ सूचीबद्ध हैं, अपने पक्ष की केवल एक नहीं चुनी गई।1b586d6(9.0)· f07df938(10.1)· fde1a82(11.0)python tools/gen_table.py --dry # केवल जाँचें चलाएँ, फ़ाइल न लिखें
python tools/gen_table.py # सभी जाँचें पास होने पर ही LineTable.java लिखें
जाँचें शामिल हैं: सकारात्मक (9.0.116 / 10.1.53 / 11.0.20 में फिक्स क्लास होना चाहिए), नकारात्मक (9.0.115 / 10.1.52 में नहीं होना चाहिए), मुख्य दावा (आधिकारिक recommend में वास्तव में 10.1.52 लिखा है), EOL पंक्तियाँ, कोई निकास नहीं (अंतिम संस्करण का अगला संस्करण 404 होना चाहिए), सेंटिनल (एक अस्तित्वहीन संस्करण 404 होना चाहिए, यह साबित करने के लिए कि 404 मानदंड स्वयं टूटा नहीं है), 10.0 की अनुपस्थिति।
mvn package # JDK 17 आवश्यक; रनटाइम पर शून्य निर्भरताएँ
Apache-2.0