Биткойны Lightning сүлжээний төлбөрийн аппликейшн болон түрийвч хөгжүүлэхэд ашигладаг Lightning Development Kit (LDK) сангаас сүлжээний дахин холболтын үед төлбөрийн дүнг хулгайлах боломжтой ноцтой эмзэг байдлыг илрүүлж, аюулгүй байдлын шинэчлэл гаргасан байна.

Энэхүү шинэчлэлийг аравдугаар сарын 1-ний өдрөөр огноолсон v0.2.7 болон v0.1.13 хувилбарууд дээр гаргасан бөгөөд Bitcoin Optech товхимол аравдугаар сарын 9-ний дугаартаа энэ талаар мэдээлжээ.

Халдлага хэрхэн явагдах боломжтой байв?

Уг эмзэг байдлын үед хортой үйлдэл хийгч сувгийн оролцогч шинэчлэлтийг хүлээн авснаа баталгаажуулсныхаа дараа дахин холбогдож, тухайн шинэчлэлтийг огт аваагүй мэт худал хүсэлт илгээдэг байна. Үүний үр дүнд LDK нь зөрчилдөөнтэй гүйлгээнд гарын үсэг зурах эрсдэл үүсдэг байжээ.

Ингэснээр шинээр батлагдсан гүйлгээ нь LDK-ийн сувгийг хянах мониторт бүртгэгдэхгүй орхигдож, дамжуулж буй төлбөрийг алдагдал болгон хувиргах боломжтой байсан аж. Өөрөөр хэлбэл, хортой этгээд блокчейн дээр гүйлгээг баталгаажуулж, дараагийн хүлээн авагчид төлбөр очих нөхцөлийг бүрдүүлсэн ч дамжуулагч тал нь орж ирэх ёстой хөрөнгөө эргүүлэн авч чадахгүй хохирох нөхцөл үүсэж байжээ.

Гаргасан шийдэл ба нэмэлт засвар

Шинэ шинэчлэлтээр зөвхөн сувгийн оролцогчийн баталгаажуулалт хүлээгдэж буй үед л дахин дамжуулалтыг зөвшөөрөхөөр болгосон байна. Хэрэв аль хэдийн баталгаажуулсан шинэчлэлтийг аваагүй гэж мэдэгдвэл сувгийг шууд хүчээр хаах зохицуулалтыг оруулжээ.

Үүнээс гадна v0.2.7 хувилбарт LSPS2 үйлчилгээний урсгал дахь дүнгийн шалгалтын алдааг (PR 5042) давхар зассан байна. Энэ нь төлбөрийн дүнг буруу мэдүүлснээс болж үйлчилгээ үзүүлэгч өөрийн хөрөнгөөс илүү дүн гарган суваг нээх эрсдэлийг арилгажээ. LDK нь аппликейшн дотор шууд ажилладаг тул хөгжүүлэгчид өөрсдийн системд шинэчилсэн кодыг заавал нэгтгэх шаардлагатай байгааг анхааруулсан байна.