Je ne me hasarderai pas à concurrencer Kostya sur son terrain. Mais ce qui m'a fait tiquer dans son billet, c'est l'apparente facilité avec laquelle on pouvait la trouver. Au point d'affirmer :

Tout le monde l'avait cette vulnerabilite, il fallait
vraiment etre idiot pour passer a coté.

Ce qui laisse clairement entendre que Immunity l'avait aussi sous le coude. Et que pleins d'autres gens aussi, ce que les bruits de couloir confirment.

Et je me suis penché sur les trois advisories publics, avec en particulier leur section Timeline qui retrace l'historique de la découverte par les chercheurs en question. D'abord, on constate que les trois affirment avoir découvert la faille de manière indépendante. Ce n'est pas franchement surprenant, vu le temps qu'Adobe leur a laissé pour ça. Ensuite, et c'est relativement flagrant, on ne peut que s'étonner de la date à laquelle on les a prévenu la première fois. La palme revient à ZDI qui alerte Adobe le 21 janvier 2008. Oui oui, vous avez bien lu. Le 21 janvier. Pour un patch publié le 4 novembre. Soit un peu plus de neuf mois pour sortir une update qui corrige un pauvre stack overflow...

Où ça devient extrêmement drôle, ou navrant, c'est quand on met les trois historiques[1] en parallèle, en y ajoutant les nouvelles versions de Adobe Reader. Ça nous donne :

  • Janvier 2008
    • 21/01/2008 - ZDI - Vulnerability reported to vendor
  • Avril 2008
    • 16/04/2008 - Secunia - Vendor notified.
    • 17/04/2008 - Secunia - Vendor response.
  • Mai 2008
    • 09/05/2008 - Secunia - Vendor informed that similar vulnerability will be fixed in Foxit Reader this month.
    • 10/05/2008 - Secunia - Vendor response thanking for the heads-up.
    • 15/05/2008 - Adobe - Sortie d'Adobe Reader 7.1.0 (security release)
    • 20/05/2008 - Secunia - Similar vulnerability published for Foxit Reader.
    • 27/05/2008 - Core - Core Security Technologies notifies the vendor of the vulnerability, similar to the CVE-2008-1104 vulnerability affecting Foxit Reader.
    • 27/05/2008 - Core - Vendor acknowledges notification
    • 28/05/2008 - Core - Core sends technical details of the vulnerability, and a Javascript PoC that triggers the bug.
    • 28/05/2008 - Core - Vendor confirms that they were aware of this vulnerability. Vendor states that it will be fixed in an update, and that the schedule for this update is still to be determined.
    • 29/05/2008 - Core - Core sends some corrections to the info provided, and asks to be updated about the progress for releasing a fixed version.
    • 30/05/2008 - Core - Vendor agrees to keep Core updated on their progress.
  • Juin 2008
    • 09/06/2008 - Core - Core sends the advisory draft, and states that it plans to publish the advisory on June 23rd. Core also offers the vendor to include a vendor statement in the advisory.
    • 09/06/2008 - Core - Vendor states that the issue will be solved in an update for Adobe Reader 8.1.2, and in the next major release of Adobe Acrobat and Reader.
    • 13/06/2008 - Core - Core requests an estimated date for the release of the next major Adobe Reader version, and expresses its concerns respect to delaying the publication of the advisory, since it is straightforward for a potential attacker to rediscover the vulnerability and exploit it "in the wild", given its relation to the Foxit reader CVE-2008-1104 bug.
    • 16/06/2008 - Core - Vendor responds that it expects the Adobe Reader 8.1.2 update to occur in the July timeframe.
    • 23/06/2008 - Adobe - Sortie d'Adobe Reader 8.1.2 Security Update 1
    • 27/06/2008 - Core - Core requests updated information concerning the release dates of Adobe Reader 9 and the 8.1.2 update.
    • 28/06/2008 - Core - Vendor responds that Adobe Reader 9 is scheduled for July 1st.
  • Juillet 2008
    • 01/07/2008 - Core - Vendor states that the 8.1.2 update is tentatively scheduled for an early fall release, and not in July as previously informed.
    • 01/07/2008 - Adobe - Sortie officielle d'Adobe Reader 9
    • 01/07/2008 - Core - Core communicates its intention to publish its security advisory on July 2nd, given that there is a fixed Adobe Reader version available, and that the vulnerability is closely related to a vulnerability already publicly known and exploited (the Foxit reader CVE-2008-1104 bug).
    • 01/07/2008 - Core - Vendor requests Core to hold off the publication of the advisory, because there is still no solution for Adobe Acrobat 8 customers besides paying for an upgrade to Acrobat 9.
    • 01/07/2008 - Core - Core requests additional information before revising the publication date: a list of vulnerable products and versions, a concrete date for the release of the Acrobat and Reader 8.1.2 update, and possible workarounds for this vulnerability.
    • 02/07/2008 - Core - Vendor confirms that the vulnerable products and versions are: Adobe Reader 8.1.2 and Acrobat 8.1.2.
    • 02/07/2008 - Core - Vendor confirms that disabling JavaScript will prevent the issue, although it will also prevent many basic Acrobat and Reader workflows from properly functioning. Vendor commits to providing an estimated release date for the Acrobat 8.1.2 update as soon as possible.
    • 02/07/2008 - Core - Core communicates that it will reschedule the publication of the advisory.
    • 02/07/2008 - Core - Vendor states that it is working with the team to get a more specific schedule.
    • 08/07/2008 - Core - Vendor states that it is still working on expediting the fix.
    • 08/07/2008 - Core - Core appreciates the updates, and asks for the CVE number assigned to this issue.
    • 09/07/2008 - Core - Vendor communicates the estimated release date of October 15th.
    • 09/07/2008 - Core - Vendor states that the release of an updated Acrobat version is still estimated for October 15th.
  • Septembre 2008
    • 03/09/2008 - Core - Core requests updated information.
    • 03/09/2008 - Core - Vendor responds that the release date is still estimated for October 15th.
  • Octobre 2008
    • 03/10/2008 - Core - Vendor informs that there has been a delay in the schedule for the upcoming Reader 8.1.3 release. Its current plan of record is now to target November 4th as the deployment date.
    • 20/10/2008 - Core - Core asks for confirmation of the release date.
    • 20/10/2008 - Core - Vendor responds that it is still on track to release Reader 8.1.3 on November 4th, and that it should have a Security Bulletin draft to review next week.
    • 22/10/2008 - Secunia - Vendor provides status update.
    • 29/10/2008 - Core - Vendor confirms the release of Reader 8.1.3 on November 4th.
    • 31/10/2008 - Secunia - Vendor provides another status update along with a draft of the upcoming security bulletin.
  • Novembre 2008

Ça se passe de commentaire à mon avis. Ou presque. On notera en effet, outre que les gens de Core leur ont sacrément tenu la jambe de mai à octobre, que même prévenu à deux reprises que la faille en question est très similaire, pour ne pas dire quasi-identique, à celle ayant affecté Foxit Reader, Adobe ne semble pas s'affoler plus que ça. Genre se bouger pour intégrer le correctif à la Security Update 1 sortie le 23 juin, voire programmer une seconde mise-à-jour de sécurité.

Et comme j'étais bien parti sur ma lancée, j'ai également regardé les historiques des autres failles corrigées par cette nouvelle version d'Adobe Reader.

Pour CVE-2008-4814, CVE-2008-4815 et CVE-2008-4816, je n'ai pas trouvé les bulletins, donc les dates. On nous souffle cependant que que CVE-2008-4814 aurait été remontée il y a six mois et concernerait, devinez quoi, JavaScript...

On notera que la faille la plus récente remonte au 29 mai dernier, la plus ancienne au 27 décembre 2007. Ce qui nous donne un délai pour patcher qui oscille entre cinq et onze mois. C'est un beau score, mais encore loin derrière les ténors de la catégorie. On remarquera également que toutes ces failles ont été remontées avant la sortie de la Security Update 1 pour Adobe Reader 8.1.2...

Update : comme on pouvait s'y attendre avec une faille de cet acabit, les premiers exploits commencent à se répandre dans la nature...


En fait, je trouve que ce genre de comportement est symptomatique du "tant que c'est pas public, on est à l'abri". Or cette faille démontre le contraire, puisqu'entre la première notification et la diffusion des correctifs, au moins quatre autres sociétés l'ont redécouverte par elles-même. Et comme ces gens n'ont clairement pas le monopole de la compétence, il y a fort à parier que d'autres l'ont également découvert, d'un côté comme de l'autre de la barrière.

Maintenant, on pourra se demander si on améliore la situation en retardant les alertes de la sorte, ou en publiant les informations, avec, si possible, un workaround. Dans le cas présent, la désactivation du JavaScript permettait de bloquer l'accès à la fonction fautive. Ça permettait accessoirement de bloquer cinq des neufs failles corrigées... Comme on peut le voir dans les échanges avec Core, Adobe se réfugie derrière des considérations de perte de fonctionnalités pour ne pas fournir ce conseil, comme si on avait besoin de JavaScript pour lire des fichiers PDF... L'espoir derrière une telle diffusion serait de mettre la pression sur l'éditeur pour le pousser à fournir un patch rapidement. Évidemment, les choses ne sont pas si simples, en particulier quand vous parlez à un éditeur dont l'autre de ses logiciels phare, Flash, tourne sur plus de 90% des machines connectées de la planète, et présente un niveau de sécurité proche de... Adobe Reader... Et à la fin, ce sont toujours les end-users qui trinquent...

Une chose est toutefois certaine. Disposer d'une base utilisateur aussi importante implique une certaine responsabilité. Mais produire des produits truffés de failles et gérer ces dernières de cette manière, ce n'est clairement pas se montrer à la hauteur de la tâche...

Notes

[1] On regrettera que celui de ZDI soit aussi pauvre, en comparaison de celui de Core...

[2] Oh ! Du JavaScript...

[3] Tiens, encore du JavaScript...