Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Veelgebruikte libpng-bibliotheek is kwetsbaar door bug

Pagina: 1
Acties:

  • AtoxHybrid
  • Registratie: Maart 2012
  • Laatst online: 14-11 15:41
Wellicht een update is handig. De bug lijkt ernstig beperkt te worden omdat maar een hele beperkte groep applicaties kwetsbaar lijkt te zijn. Zie onder andere mijn reactie en de volgende links:

https://news.ycombinator.com/item?id=10567353
https://android.googlesou...dec/SkCodec_libpng.cpp#17
https://github.com/libgd/...9fcc24/src/gd_png.c#L3211

Onder andere deze applicaties zijn veilig:
Google Chrome
Chrome OS
Mozilla Firefox
Android
Firefox OS
PHP

  • duqu
  • Registratie: Januari 2014
  • Laatst online: 16-06 20:23
Bedankt voor de oplettendheid! Ik heb het artikel aangepast.

  • BasSchouten
  • Registratie: November 2009
  • Laatst online: 04-11 08:56
Zoals ook al gecomment op de post:

Oppassen met de informatie die je hier verspreidt, Skia gebruikt ook gewoon libpng dus dat is geen garantie dat het niet kwetsbaar is. Voor zover ik kan zien is Skia master gefixt in Maart 2015 in deze commit:(https://android.googlesou...64a89fa7207195d1a79efc0c3)

Maar genoeg google applicaties, telefoons, etc. zullen niet op een skia master zitten van na 2015.

Firefox gebruikt Skia op sommige platformen wel voor rasterisatie, maar nooit voor image decoding. Firefox gebruikt libpng direct, maar doet voor zover ik kan zien geen allocaties op png_get_PLTE (tenminste niet op release), en is dus inderdaad niet kwetsbaar.

  • duqu
  • Registratie: Januari 2014
  • Laatst online: 16-06 20:23
Hoi Bas, dank voor de aanvulling. Jouw link werkt niet en ik kan het zo snel niet verifiëren, dus heb nog geen update gedaan.

Verwijderd

Hier is de Skia library (mirror)

https://github.com/google.../codec/SkCodec_libpng.cpp

Het is typisch zo'n eigen libpng variant waarover het artikel het al heeft.

Ik kan niet beoordelen of deze gefixt is.

[ Voor 34% gewijzigd door Verwijderd op 16-11-2015 17:18 ]


  • AtoxHybrid
  • Registratie: Maart 2012
  • Laatst online: 14-11 15:41
Skia alloceert automatisch ruimte voor 256 kleuren, dus was niet kwetsbaar, ook voor deze patch. Of skia nooit kwetsbaar is geweest ga ik nog uitzoeken. Firefox is ook niet kwetsbaar, zie mijn nieuwe post.

Voor alsnog lijkt het dat alleen in niet standaard gevallen, waar iemand libpng gebruikt om het kleurenpallet uit te lezen maar niet om de bitdiepte vast te stellen, deze kwestbaarheid te misbruiken is.

  • duqu
  • Registratie: Januari 2014
  • Laatst online: 16-06 20:23
Bedankt allen, ik laat het artikel tot nu toe voor wat het is.

  • BasSchouten
  • Registratie: November 2009
  • Laatst online: 04-11 08:56
Laten we niet al te veel verder nog in detail treden, maar een vlugge blik op de decodePalette functie in Skia master voor Maart:

https://android.googlesou...ageDecoder_libpng.cpp#659

Daar wordt numColor gebaseerd om numpalette (of numPalette+1) en wordt naar een vaste stack allocatie van 256 geschreven in een loop die loopt tot numColor. numColor zelf wordt echter daar nooit op 256 gecapped. Dus er kan daar gewoon voorbij de bounds van de array worden geschreven.
Pagina: 1