Специалист по безопасности Илья ван Спрундел (Ilja van Sprundel) из компании IOActive обнаружил большое количество проблем в том, как различные клиентские библиотеки X Window System обрабатывают ответ с сервера. Последние несколько недель Илья совместно со специалистами X.Org анализировал выявленные баги и помогал исправить их.

Большинство уязвимостей связано с тем, что клиентские библиотеки слепо доверяют корректности данных с сервера, не проверяя их на ошибки и потенциальную вредоносность. В большинстве случаев и клиент, и сервер принадлежат одному и тому же пользователю, так что здесь проблем не возникает. Но бывают ситуации, в которых привилегированный клиент подключается к непривилегированному серверу. Например, X-клиент setuid подключается к X-серверу Xvfb или Xephyr, который модифицирован злоумышленником так, что возвращает некорректные данные для эскалации привилегий.

Список уязвимых библиотек.

CVE-2013-1981: libX11 1.5.99.901 (1.6 RC1) и более ранние
Пораженная функция: XQueryFont(), _XF86BigfontQueryFont(), XListFontsWithInfo(), XGetMotionEvents(), XListHosts(),XGetModifierMapping(), XGetPointerMapping(), XGetKeyboardMapping(), XGetWindowProperty(), XGetImage()

* CVE-2013-1982: libXext 1.3.1 и более ранние
Пораженная функция: XcupGetReservedColormapEntries(), XcupStoreColors(), XdbeGetVisualInfo(), XeviGetVisualInfo(), XShapeGetRectangles(), XSyncListSystemCounters()

* CVE-2013-1983: libXfixes 5.0 и более ранние
Пораженная функция: XFixesGetCursorImage()

* CVE-2013-1984: libXi 1.7.1 и более ранние
Пораженная функция: XGetDeviceControl(), XGetFeedbackControl(), XGetDeviceDontPropagateList(), XGetDeviceMotionEvents(), XIGetProperty(), XIGetSelectedEvents(), XGetDeviceProperties(), XListInputDevices()

* CVE-2013-1985: libXinerama 1.1.2 и более ранние
Пораженная функция: XineramaQueryScreens()

* CVE-2013-2062: libXp 1.0.1 и более ранниеПораженная функция: XpGetAttributes(), XpGetOneAttribute(), XpGetPrinterList(), XpQueryScreens()

* CVE-2013-1986: libXrandr 1.4.0 и более ранние
Пораженная функция: XRRQueryOutputProperty(), XRRQueryProviderProperty()

* CVE-2013-1987: libXrender 0.9.7 и более ранние
Пораженная функция: XRenderQueryFilters(), XRenderQueryFormats(), XRenderQueryPictIndexValues()

* CVE-2013-1988: libXRes 1.0.6 и более ранние
Пораженная функция: XResQueryClients(), XResQueryClientResources()

* CVE-2013-2063: libXtst 1.2.1 и более ранние
Пораженная функция: XRecordGetContext()

* CVE-2013-1989: libXv 1.0.7 и более ранние
Пораженная функция: XvQueryPortAttributes(), XvListImageFormats(), XvCreateImage()

* CVE-2013-1990: libXvMC 1.0.7 и более ранние
Пораженная функция: XvMCListSurfaceTypes(), XvMCListSubpictureTypes()

* CVE-2013-1991: libXxf86dga 1.1.3 и более ранние
Пораженная функция: XDGAQueryModes(), XDGASetMode()

* CVE-2013-1992: libdmx 1.1.2 и более ранние
Пораженная функция: DMXGetScreenAttributes(), DMXGetWindowAttributes(), DMXGetInputAttributes()

* CVE-2013-2064: libxcb 1.9 и более ранние
Пораженная функция: read_packet()

* CVE-2013-1993: libGLX in Mesa 9.1.1 и более ранние
Пораженная функция: XF86DRIOpenConnection(), XF86DRIGetClientDriverName()

* CVE-2013-1994: libchromeXvMC & libchromeXvMCPro in openChrome 0.3.2 и более ранние
Пораженная функция: uniDRIOpenConnection(), uniDRIGetClientDriverName()

* CVE-2013-1995: libXi 1.7.1 и более ранние
Пораженная функция: XListInputDevices()

* CVE-2013-1996: libFS 1.0.4 и более ранние
Пораженная функция: FSOpenServer()

* CVE-2013-1997: libX11 1.5.99.901 (1.6 RC1) и более ранние
Пораженная функция: XAllocColorCells(), XkbReadGetDeviceInfoReply(), _XkbReadGeomShapes(), _XkbReadGetGeometryReply(), _XkbReadKeySyms(), _XkbReadKeyActions(), _XkbReadKeyBehaviors(), _XkbReadModifierMap(), _XkbReadExplicitComponents(), _XkbReadVirtualModMap(), _XkbReadGetNamesReply(), _XkbReadGetMapReply(), _XimXGetReadData(), XListFonts(), XListExtensions(), XGetFontPath()

* CVE-2013-1998: libXi 1.7.1 и более ранние
Пораженная функция: XGetDeviceButtonMapping(), _XIPassiveGrabDevice(), XQueryDeviceState()

* CVE-2013-2066: libXv 1.0.7 и более ранние
Пораженная функция: XvQueryPortAttributes()

* CVE-2013-1999: libXvMC 1.0.7 и более ранние
Пораженная функция: XvMCGetDRInfo()

* CVE-2013-2000: libXxf86dga 1.1.3 и более ранние
Пораженная функция: XDGAQueryModes(), XDGASetMode()

* CVE-2013-2001: libXxf86vm 1.1.2 и более ранние
Пораженная функция: XF86VidModeGetGammaRamp()

* CVE-2013-2002: libXt 1.1.3 и более ранние
Пораженная функция: _XtResourceConfigurationEH()

* CVE-2013-1981: libX11 1.5.99.901 (1.6 RC1) и более ранние
Пораженная функция: LoadColornameDB(), XrmGetFileDatabase(), _XimParseStringFile(), TransFileName()

* CVE-2013-2003: libXcursor 1.1.13 и более ранние
Пораженная функция: _XcursorFileHeaderCreate()

Патчи и исправленные версии публикуются здесь.



Оставить мнение