İçeriğe atla
Noroxi
CVE-2021-27850· NVD / CVE Programı· CNA apache

Bypass of the fix for CVE-2019-0195

A critical unauthenticated remote code execution vulnerability was found all recent versions of Apache Tapestry. The affected versions include 5.4.5, 5.5.0, 5.6.2 and 5.7.0. The vulnerability I have found is a bypass of the fix for CVE-2019-0195. Recap: Before the fix of CVE-2019-0195 it was possible to download arbitrary class files from the classpath by providing a crafted asset file URL. An attacker was able to download the file `AppModule.class` by requesting the URL `http://localhost:8080/assets/something/services/AppModule.class` which contains a HMAC secret key. The fix for that bug was a blacklist filter that checks if the URL ends with `.class`, `.properties` or `.xml`. Bypass: Unfortunately, the blacklist solution can simply be bypassed by appending a `/` at the end of the URL: `http://localhost:8080/assets/something/services/AppModule.class/` The slash is stripped after the blacklist check and the file `AppModule.class` is loaded into the response. This class usually contains the HMAC secret key which is used to sign serialized Java objects. With the knowledge of that key an attacker can sign a Java gadget chain that leads to RCE (e.g. CommonsBeanUtils1 from ysoserial). Solution for this vulnerability: * For Apache Tapestry 5.4.0 to 5.6.1, upgrade to 5.6.2 or later. * For Apache Tapestry 5.7.0, upgrade to 5.7.1 or later.

KritikCVSS 9.8 · v3.1—Silahlaştırılmış Düzeltme var
Yayın
15 Nis 2021
Güncelleme
16 Haz 2026
EPSS
%93,5 · 100. yüzdelik
Bu CVE’yi takip et

Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.

Rapor araçları

JSON

Aksiyon skoru

67

Bu hafta

Bir sonraki bakım penceresini beklemeyin.

CVSS
39 / 40 · 9.8 / 10
CISA KEV
0 / 30 · Listede değil
EPSS
28 / 30 · %93,5

Etkilenen sistemler

ÜreticiÜrün
apachetapestry

Etkilenen sürümler

NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.

  • apache tapestry5.4.0 ve sonrası · 5.6.2 öncesi
  • apache tapestry5.7.0 ve sonrası · 5.7.1 öncesi

Üreticinin bildirdiği sürümler

Kaydı açan otorite (apache) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.

  • Apache Software Foundation Apache Tapestry

    • Apache Tapestry 5.5.0, Apache Tapestry 5.7.0etkilenir
    • Apache Tapestry 5.4.5 ve sonrası · Apache Tapestry 5.4.0* öncesietkilenir
    • Apache Tapestry 5.6.2 ve sonrası · Apache Tapestry 5.6.0* öncesietkilenir

Paket düzeyi etkilenme

OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.

EkosistemPaketEtkilenen aralıkDüzeltme
Mavenorg.apache.tapestry:tapestry-core5.4.0 itibarıyla · 5.6.3 öncesi5.6.3
Mavenorg.apache.tapestry:tapestry-core5.7.0 itibarıyla · 5.7.1 öncesi5.7.1

Aynı birincil ürünün en yüksek skorlu diğer kayıtları.

  • CVE-2019-0195Manipulating classpath asset file URLs, an attacker could guess the path to a known file in the classpath and have it downloaded.
    43Planlayın
  • CVE-2020-17531Deserialization flaw in EOL Tapestry 4.
    42Planlayın
  • CVE-2019-10071The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparis
    42Planlayın
  • CVE-2022-46366Apache Tapestry prior to version 4 (EOL) allows RCE though deserialization of untrusted input
    40Planlayın
  • CVE-2014-1972Apache Tapestry before 5.3.6 relies on client-side object storage without checking whether a client has modified an object, which allows rem
    34İzleyin
  • CVE-2021-30638An Information Disclosure due to insufficient input validation exists in Apache Tapestry 5.4.0 and later
    32İzleyin

Düzeltme

Hangi sürüme geçmeli

Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.

Ürün / paketDüzeltilmiş sürümKaynak
Maven:org.apache.tapestry:tapestry-core5.6.3Paket deposu (OSV)
Maven:org.apache.tapestry:tapestry-core5.7.1Paket deposu (OSV)

İstismar durumu

Silahlaştırılmış

Bu zafiyet için hazır bir istismar aracı ya da sahada aktif kullanım biliniyor. Önceliğiniz en üst düzeyde olmalı.

Kanıt

  • Metasploit modülü ×1
  • Nuclei tespit şablonu ×1
  • GitHub’da kavram kanıtı deposu ×4

Noroxi istismar kodu barındırmaz ve istismar bağlantısı vermez. Metasploit modül adı ve Nuclei şablon kimliği gösterilir (kod değil, ad); Exploit-DB kayıtları ve PoC depoları yalnızca sayı olarak verilir.

Kamuya açık istismar kanıtı
KaynakTürTarih
Metasploit modülüauxiliary/gather/cve_2021_27850_apache_tapestry_hmac_keyApache Tapestry HMAC secret key leakauxiliary2021-04-15
Nuclei tespit şablonuNuclei şablonu CVE-2021-27850 —
GitHub’da kavram kanıtı deposustars:52021-06-25
GitHub’da kavram kanıtı deposustars:32021-06-26
GitHub’da kavram kanıtı deposustars:22021-07-02
GitHub’da kavram kanıtı deposustars:02022-07-07

Araştırma bağlamı

Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.

Zaman çizelgesi

Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.

  1. Metasploitaynı gün
  2. Yayın
  3. İlk kavram kanıtı+71 gün
  4. Bugün29 Eyl 2026+1994 gün
EPSS son 120 gün7 günde -%1

FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).

Yama ve commit bağlantıları

Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.

Referanslarda commit ya da PR bağlantısı yok.

CNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.

Varyant adayları

Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.

Gece hesaplanan ilişki yok.

Zincir adayları

Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.

—

Bug bounty kapsamı

Bilinen herkese açık program yok.

Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).

Teknik detay

Saldırı koşulları

  • İnternetten erişebilen herkes tetikleyebilir.
  • Hesap ya da parola gerekmez.
  • Kullanıcının bir şey yapması gerekmez.
  • Özel bir koşul gerekmez; tekrarlanabilir.

Başarılı olursa

Gizlilik
yüksek · veriler okunabilir
Bütünlük
yüksek · veri ya da yapılandırma değiştirilebilir
Erişilebilirlik
yüksek · hizmet durdurulabilir
Saldırı vektörü
Ağ
Karmaşıklık
Düşük
Gereken yetki
Yok
Kullanıcı etkileşimi
Gerekmez
Kapsam
Değişmez
Gizlilik etkisi
Yüksek
Bütünlük etkisi
Yüksek
Erişilebilirlik etkisi
Yüksek

CVSS vektörü

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

nvd-primary

Kök neden

Eklenti işlevi için gerekenden geniş izin istiyor ve topladığı veriyi amacı dışında dışarı gönderiyor.

Hatanın kod karşılığı

CWE-200 sınıfının tamamı

Bu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.

Hatalı

json
{  "permissions": ["tabs", "<all_urls>"],  "background": { "service_worker": "analytics.js" }}

Düzeltilmiş

json
{  "permissions": ["activeTab"],  "host_permissions": ["https://yildiz.example/*"]}

Noroxi analizi

Bu kayıt için henüz Noroxi analizi yok

385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.

Bu ürünü kullanıyoruz, yardım isteyin

Değişiklik günlüğü

  1. Düzeltme✗ → ✓

Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →

Referanslar

Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.

Tüm kayıtlar