Re: "You Might Want to Uninstall VLC. Immediately."

 ( trey | 2019. július 24., szerda - 12:51 )

Előzménynek itt.

Folytatás:

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

nekem sosem voltak szimpatikusak a VLC-s gyerekek. mar regen is gyokerek voltak amikor veluk dolgoztam.

mi volt a gondod velük? neked se válaszoltak?

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

hat ebbol amit a cikkben olvastam nekem nem az jon le hogy a VLC-sek lennenek a gyokerek...

mondjuk annyiból idióta az issú lezárója, hogy ha má biztonsági hibát jelzee akko előbb frissítsed a rendszeredet. Hát az ubuntu 18.04 lts verzió, friss. Persze ubuntuéknak kéne fixálni a repójukban ehhez a libet.

Nem mindenki használ rolling releaset... látjuk, hogy windowsnál is mire vezet az :D

Egyszer jeleztem egy vlc bugot, fél évre rá is tojtak rá. Amikor pingeltem, hogy senkit sem érdekel-e az, hogy nem tud videót lejátszani a lejátszójuk, akkor mondták, hogy ne rinyáljak, hanem javítsam meg én :D Azóta 3-4 év után valamikor megjavult.

Btw, tán a snap-os pakkban friss lib van, így az nem érintett.

"Persze ubuntuéknak kéne fixálni a repójukban ehhez a libet."

Árnyalnám a képet azzal, hogy a problémás csomag az universe repóban van, azaz hivatalosan nem támogatott az Ubuntu projekt által:

Idézet:
Universe is maintained by the greater Ubuntu community of users and developers. These are not officially supported, but tend to be the newer releases.

Ez egy közösségileg karbantartott repó, támogatás nélkül. Tehát, max. a karbantartót lehetne kérdőre vonni, de nem az Ubuntu projektet. Az VLC-t pedig nem is értem, hogy lehetne...

--
trey @ gépház

A vlc-sek részéről jogos, hogy a sajtó trógerségét felhozzák.
Az, hogy frissítsd az oprendszeredet, viszont hülyeség, mert az friss és nem fogok béta verziós kiadásokat használni.

Ha leírták volna, hogy az érintett rendszerek nem naprakész verziót tartalmaznak, helyette telepítsék a snap-es megoldást, az mindjárt konstruktívabb, mint a sírni, hogy bátják őket.

Viszont akkor már... a vlc is universe-ben van. Ráadásul debian-ból van átvéve valsz. Nehogy egy vlc fejlesztő neve legyen az egyik végül :) A második emberre a listán már dob videolan-os email címet találatként google :)
https://packages.ubuntu.com/bionic/vlc

Másrészt, miért nem növelik a lib verziót a vlc függőségnél, ha ismerten hibás az?
Ubuntuban a vlc részről már javított 3.0.3 - 3.0.4 verzió van, az hivatkozik régi lib verzióra.
Minimum részükről is van hiba a folyamatokban.

más libek verzióját frissítették biztonsági problémák kapcsán
https://www.videolan.org/vlc/releases/3.0.3.html

Ja, hogy nicns felvéve a függősgégek közé sem
http://archive.ubuntu.com/ubuntu/pool/universe/v/vlc/vlc_3.0.3-1-1ubuntu1.dsc
Libmatroskán keresztül tranzitív függő
http://www.linuxfromscratch.org/blfs/view/8.3/multimedia/vlc.html

long story short... ha a függőségeiket naprakészen tartanák vlc-ék, akkor azokat a csomagokat is naprakészen tartanák, hogy le tudják buildelni a linux kiadásokban. VLC-nek elég az 1.0.0 matroska 9 évvel ezelőttről. Azt hiszem v1.5.0 -ös libmatroska már javított v1.3.7 libebml-t követel meg. Ubuntu 18.04 meg 1.4.8-as libmatroskánál tart most.

A függőséget a maintainer tudja állítani. Ha a maintainer nem a vlc projekt (nem valószínű), akkor ők nem tudják beállítani.

A maintaninerek közt videolanos email című is van... nem néztem mindet végig, hogy hányan vannak. A függőséget pedig a vlc forráskódjánál is meg kell adni a buildhez.

Van sok igazság abban, amit a vlc-s twitterező mond. De a nagy mellényből kicsit visszább vehetne és a függőségeiket normálisan karbantarthatnák, főleg ha állítólag ők már ezt a hibát ismerték.

Hm, meg tán windows és osx verzióról is szól a panasz. Azokhoz a videolan buildeli a binárist. A win exe vajon milyen libet tartalmaz linkelve :)

Érdekes, hogy firtatsz mindent, kivéve a szegény felhasználó felelősségét.

--
trey @ gépház

Melyik felhasználókra gondolsz? Aki egyből a médiához fordult, vagy a széles néptömegek felhasználóra?
Ez utóbbi felelőssége nem nyomon követhető, értsd úgy: fogalmuk sincs a licenszről úgy általában, nem tudják, milyen felelősséget vállalnak pl.
egy GPL program használatával.

Utóbbira.

"fogalmuk sincs a licenszről úgy általában, nem tudják, milyen felelősséget vállalnak pl.
egy GPL program használatával."

OK. Ezek így jártak. BTW: itt nem a licencekről van szó (az a restricted repo), hanem arról, hogy ki támogatja és milyen rendszeresen.

--
trey @ gépház

A felhasználó egy up-to-date rendszert használ, ami nem valami frissítés nélküli kriptaszökevény.
Honnan tudná a felhasználó, hogy némelyik szoftver fejlesztői a függőségek kezelésében arra mutogatnak, hogy nem az ő problémájuk, hogy az általuk használt libekből újabbat kellene használni és hogy erről hogyan értesül a felhasználó, de akár a maintainer.

Mondjuk a debian maintainerek közt a vlc és a sérülékeny csomag esetén is van videolan-os ember. Az utóbbi igaz a videolan wikin írja, hogy nem túl aktív :D

Tipikusan olyan reakció volt twitteren, mint amikor egy sötét kocka forrásból forduló rolling release-t tol és erre veri, hogy milyen király és mekkora gyíkok, akik csak használják a szoftvereket.

winest nem tudom, de a mac-es eleg sokat:

liba52_plugin.dylib
libaccess_concat_plugin.dylib
libaccess_imem_plugin.dylib
libaccess_mms_plugin.dylib
libaccess_output_dummy_plugin.dylib
libaccess_output_file_plugin.dylib
libaccess_output_http_plugin.dylib
libaccess_output_livehttp_plugin.dylib
libaccess_output_shout_plugin.dylib
libaccess_output_srt_plugin.dylib
libaccess_output_udp_plugin.dylib
libaccess_qtsound_plugin.dylib
libaccess_realrtsp_plugin.dylib
libaccess_srt_plugin.dylib
libadaptive_plugin.dylib
libaddonsfsstorage_plugin.dylib
libaddonsvorepository_plugin.dylib
libadf_plugin.dylib
libadjust_plugin.dylib
libadpcm_plugin.dylib
libadummy_plugin.dylib
libaes3_plugin.dylib
libafile_plugin.dylib
libaiff_plugin.dylib
libalphamask_plugin.dylib
libamem_plugin.dylib
libanaglyph_plugin.dylib
libantiflicker_plugin.dylib
libaom_plugin.dylib
libaraw_plugin.dylib
libarchive_plugin.dylib
libaribsub_plugin.dylib
libasf_plugin.dylib
libattachment_plugin.dylib
libau_plugin.dylib
libaudio_format_plugin.dylib
libaudiobargraph_a_plugin.dylib
libaudiobargraph_v_plugin.dylib
libaudioscrobbler_plugin.dylib
libaudiotoolboxmidi_plugin.dylib
libauhal_plugin.dylib
libavcapture_plugin.dylib
libavcodec_plugin.dylib
libavi_plugin.dylib
libball_plugin.dylib
libblend_plugin.dylib
libblendbench_plugin.dylib
libbluescreen_plugin.dylib
libbonjour_plugin.dylib
libcache_block_plugin.dylib
libcache_read_plugin.dylib
libcaf_plugin.dylib
libcanvas_plugin.dylib
libcaopengllayer_plugin.dylib
libcc_plugin.dylib
libcdda_plugin.dylib
libcdg_plugin.dylib
libchain_plugin.dylib
libchorus_flanger_plugin.dylib
libci_filters_plugin.dylib
libclone_plugin.dylib
libcolorthres_plugin.dylib
libcompressor_plugin.dylib
libconsole_logger_plugin.dylib
libcroppadd_plugin.dylib
libcvdsub_plugin.dylib
libcvpx_plugin.dylib
libdav1d_plugin.dylib
libdca_plugin.dylib
libdcp_plugin.dylib
libddummy_plugin.dylib
libdecomp_plugin.dylib
libdeinterlace_plugin.dylib
libdemux_cdg_plugin.dylib
libdemux_chromecast_plugin.dylib
libdemux_stl_plugin.dylib
libdemuxdump_plugin.dylib
libdiracsys_plugin.dylib
libdirectory_demux_plugin.dylib
libdolby_surround_decoder_plugin.dylib
libdummy_plugin.dylib
libdvbsub_plugin.dylib
libdvdnav_plugin.dylib
libdvdread_plugin.dylib
libdynamicoverlay_plugin.dylib
libedgedetection_plugin.dylib
libedummy_plugin.dylib
libequalizer_plugin.dylib
liberase_plugin.dylib
libes_plugin.dylib
libexport_plugin.dylib
libextract_plugin.dylib
libfaad_plugin.dylib
libfile_keystore_plugin.dylib
libfile_logger_plugin.dylib
libfilesystem_plugin.dylib
libfingerprinter_plugin.dylib
libflac_plugin.dylib
libflacsys_plugin.dylib
libflaschen_plugin.dylib
libfloat_mixer_plugin.dylib
libfolder_plugin.dylib
libfps_plugin.dylib
libfreetype_plugin.dylib
libfreeze_plugin.dylib
libftp_plugin.dylib
libg711_plugin.dylib
libgain_plugin.dylib
libgaussianblur_plugin.dylib
libgestures_plugin.dylib
libglconv_cvpx_plugin.dylib
libgme_plugin.dylib
libgnutls_plugin.dylib
libgoom_plugin.dylib
libgradfun_plugin.dylib
libgradient_plugin.dylib
libgrain_plugin.dylib
libgrey_yuv_plugin.dylib
libh26x_plugin.dylib
libhds_plugin.dylib
libheadphone_channel_mixer_plugin.dylib
libhotkeys_plugin.dylib
libhqdn3d_plugin.dylib
libhttp_plugin.dylib
libhttps_plugin.dylib
libi420_10_p010_plugin.dylib
libi420_nv12_plugin.dylib
libi420_rgb_mmx_plugin.dylib
libi420_rgb_plugin.dylib
libi420_rgb_sse2_plugin.dylib
libi420_yuy2_mmx_plugin.dylib
libi420_yuy2_plugin.dylib
libi420_yuy2_sse2_plugin.dylib
libi422_i420_plugin.dylib
libi422_yuy2_mmx_plugin.dylib
libi422_yuy2_plugin.dylib
libi422_yuy2_sse2_plugin.dylib
libidummy_plugin.dylib
libimage_plugin.dylib
libimem_plugin.dylib
libinflate_plugin.dylib
libinteger_mixer_plugin.dylib
libinvert_plugin.dylib
libjpeg_plugin.dylib
libkaraoke_plugin.dylib
libkate_plugin.dylib
libkeychain_plugin.dylib
liblibass_plugin.dylib
liblibbluray_plugin.dylib
liblibmpeg2_plugin.dylib
liblive555_plugin.dylib
liblogger_plugin.dylib
liblogo_plugin.dylib
liblpcm_plugin.dylib
liblua_plugin.dylib
libmacosx_plugin.dylib
libmad_plugin.dylib
libmagnify_plugin.dylib
libmarq_plugin.dylib
libmediadirs_plugin.dylib
libmemory_keystore_plugin.dylib
libmirror_plugin.dylib
libmjpeg_plugin.dylib
libmkv_plugin.dylib
libmod_plugin.dylib
libmono_plugin.dylib
libmosaic_plugin.dylib
libmotion_plugin.dylib
libmotionblur_plugin.dylib
libmotiondetect_plugin.dylib
libmp4_plugin.dylib
libmpc_plugin.dylib
libmpg123_plugin.dylib
libmpgv_plugin.dylib
libmux_asf_plugin.dylib
libmux_avi_plugin.dylib
libmux_dummy_plugin.dylib
libmux_mp4_plugin.dylib
libmux_mpjpeg_plugin.dylib
libmux_ogg_plugin.dylib
libmux_ps_plugin.dylib
libmux_ts_plugin.dylib
libmux_wav_plugin.dylib
libncurses_plugin.dylib
libnetsync_plugin.dylib
libnfs_plugin.dylib
libnormvol_plugin.dylib
libnoseek_plugin.dylib
libnsc_plugin.dylib
libnsspeechsynthesizer_plugin.dylib
libnsv_plugin.dylib
libnuv_plugin.dylib
libogg_plugin.dylib
liboggspots_plugin.dylib
liboldmovie_plugin.dylib
liboldrc_plugin.dylib
libopus_plugin.dylib
libosx_notifications_plugin.dylib
libpacketizer_a52_plugin.dylib
libpacketizer_av1_plugin.dylib
libpacketizer_copy_plugin.dylib
libpacketizer_dirac_plugin.dylib
libpacketizer_dts_plugin.dylib
libpacketizer_flac_plugin.dylib
libpacketizer_h264_plugin.dylib
libpacketizer_hevc_plugin.dylib
libpacketizer_mlp_plugin.dylib
libpacketizer_mpeg4audio_plugin.dylib
libpacketizer_mpeg4video_plugin.dylib
libpacketizer_mpegaudio_plugin.dylib
libpacketizer_mpegvideo_plugin.dylib
libpacketizer_vc1_plugin.dylib
libparam_eq_plugin.dylib
libplaylist_plugin.dylib
libpng_plugin.dylib
libpodcast_plugin.dylib
libposterize_plugin.dylib
libpostproc_plugin.dylib
libprefetch_plugin.dylib
libps_plugin.dylib
libpsychedelic_plugin.dylib
libpuzzle_plugin.dylib
libpva_plugin.dylib
librawaud_plugin.dylib
librawdv_plugin.dylib
librawvid_plugin.dylib
librawvideo_plugin.dylib
libreal_plugin.dylib
librecord_plugin.dylib
libremap_plugin.dylib
libremoteosd_plugin.dylib
libripple_plugin.dylib
librotate_plugin.dylib
librss_plugin.dylib
librtp_plugin.dylib
librtpvideo_plugin.dylib
librv32_plugin.dylib
libsamplerate_plugin.dylib
libsap_plugin.dylib
libsatip_plugin.dylib
libscale_plugin.dylib
libscaletempo_pitch_plugin.dylib
libscaletempo_plugin.dylib
libscene_plugin.dylib
libschroedinger_plugin.dylib
libscreen_plugin.dylib
libscte18_plugin.dylib
libscte27_plugin.dylib
libsdp_plugin.dylib
libsecuretransport_plugin.dylib
libsepia_plugin.dylib
libsftp_plugin.dylib
libsharpen_plugin.dylib
libshm_plugin.dylib
libsid_plugin.dylib
libsimple_channel_mixer_plugin.dylib
libskiptags_plugin.dylib
libsmf_plugin.dylib
libspatialaudio_plugin.dylib
libspatializer_plugin.dylib
libspdif_plugin.dylib
libspeex_plugin.dylib
libspeex_resampler_plugin.dylib
libspudec_plugin.dylib
libstats_plugin.dylib
libstereo_widen_plugin.dylib
libstl_plugin.dylib
libstream_out_autodel_plugin.dylib
libstream_out_bridge_plugin.dylib
libstream_out_chromaprint_plugin.dylib
libstream_out_chromecast_plugin.dylib
libstream_out_cycle_plugin.dylib
libstream_out_delay_plugin.dylib
libstream_out_description_plugin.dylib
libstream_out_display_plugin.dylib
libstream_out_dummy_plugin.dylib
libstream_out_duplicate_plugin.dylib
libstream_out_es_plugin.dylib
libstream_out_gather_plugin.dylib
libstream_out_mosaic_bridge_plugin.dylib
libstream_out_record_plugin.dylib
libstream_out_rtp_plugin.dylib
libstream_out_setid_plugin.dylib
libstream_out_smem_plugin.dylib
libstream_out_standard_plugin.dylib
libstream_out_stats_plugin.dylib
libstream_out_transcode_plugin.dylib
libsubsdec_plugin.dylib
libsubsdelay_plugin.dylib
libsubstx3g_plugin.dylib
libsubsusf_plugin.dylib
libsubtitle_plugin.dylib
libsvcdsub_plugin.dylib
libswscale_plugin.dylib
libsyslog_plugin.dylib
libt140_plugin.dylib
libtaglib_plugin.dylib
libtcp_plugin.dylib
libtdummy_plugin.dylib
libtelx_plugin.dylib
libtextst_plugin.dylib
libtheora_plugin.dylib
libtimecode_plugin.dylib
libtospdif_plugin.dylib
libtransform_plugin.dylib
libtrivial_channel_mixer_plugin.dylib
libts_plugin.dylib
libtta_plugin.dylib
libttml_plugin.dylib
libtwolame_plugin.dylib
libty_plugin.dylib
libudp_plugin.dylib
libugly_resampler_plugin.dylib
libuleaddvaudio_plugin.dylib
libupnp_plugin.dylib
libvc1_plugin.dylib
libvcd_plugin.dylib
libvdr_plugin.dylib
libvdummy_plugin.dylib
libvhs_plugin.dylib
libvideotoolbox_plugin.dylib
libvisual_plugin.dylib
libvlc.5.dylib
libvlc.dylib
libvlccore.9.dylib
libvlccore.dylib
libvmem_plugin.dylib
libvobsub_plugin.dylib
libvoc_plugin.dylib
libvod_rtsp_plugin.dylib
libvorbis_plugin.dylib
libvout_macosx_plugin.dylib
libvpx_plugin.dylib
libwall_plugin.dylib
libwav_plugin.dylib
libwave_plugin.dylib
libwebvtt_plugin.dylib
libx26410b_plugin.dylib
libx264_plugin.dylib
libx265_plugin.dylib
libxa_plugin.dylib
libxml_plugin.dylib
libyuv_plugin.dylib
libyuvp_plugin.dylib
libyuy2_i420_plugin.dylib
libyuy2_i422_plugin.dylib
libzvbi_plugin.dylib

Nem általánosságban gondoltam, hanem a libebml és az őt használó libmatroska vonalon sérülékeny vagy javított verziót. De valsz ők úgy buildelték le, hogy friss legyen, legalábbis azt állítják, hogy az ő binárisuk "javítva" van.

Ez igaz, megtévesztő az Ubuntu hatalmas csomagválasztéka. A felhasználók túlnyomó többségének fogalma sincs, hogy gyakorlatilag az Ubuntuban csak a main repo támogatott, az meg azért elég kicsi.

+1
franciak, az arcuk jo nagy, amugy meg a lenyegi reszeket (avcodec,swscale,postproc stb) az ffmpegbol "loptak" (persze gpl tudom ezert nem lopas, de a webjukon ezt meg sem emlitik, csak a forraskodban latszik), csak heggesztettek ra egy guit...

A'rpi

És hogy ellenőrzöm, hogy az én gépemen sebezhető-e a VLC? Talán ez volna a legfontosabb számomra userként. Mindenesetre nyomtam egy upgrade-et, abból nem lehet baj.

https://trac.videolan.org/vlc/raw-attachment/ticket/22474/heap-over-flow.mp4
play it! :)

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

köcsög vlc nem játsza le! :D

akkor a tiéd nem lyukas! :D

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

ó, nekem azzal is sikerült kompett gépet fagyasztani ubunt 18.04-gyel, hogy bekapcsoltam a memória tömörítést (zswap / zram).
A 4.15-ös kernelben úgy tűnik még nincs minden fixálva ekörül, bár korábban találtam már fixeket rá. Jó is az, amikor merevre fagy a gép, de azért előtte readonly-ra vált az ext4 fs a driver kresse miatt, hogy még logot sem lehet nézni, mi a bánata a gépnek.

De a vlc használata memóriatömörítés mellett is gyors halált hoz.

Tegyük fel, hogy közvetlenül a VLC-ben, és nem egy általa is használt lib-ben lenne a hiba és még mindig nem javították volna ki. Ez ok lenne arra, hogy LETÖRÖLJEM a VLC-t, és ne azt tegyem, hogy ismeretlen fájlt nem játszok le vele a frissítésig, hanem addig, ha ilyet akarok, használjak más, valamiért biztonságosabbnak feltételezett mozgóképlejátszó klienst a Linux-alapú eszközömön?

Így elvileg lehetséges lehet a hiba kihasználása a fájl megnyitása nélkül is:
- A böngészőt rá lehet venni, hogy user beavatkozás nélkül letöltsön egy fájlt a download könyvtárba: <a href="any.mkv" download id="link">download</a> <script>link.click()</script>
- Ezután elvileg azt a könyvtárat megnyitva a VLC automatikusan megpróbál thumbnailt generálni neki, így potenciálisan triggerelve az exploitot.

Legalábbis pár éve Ubuntu-n volt egy hasonló esemény: https://scarybeastsecurity.blogspot.com/2016/11/0day-exploit-compromising-linux-desktop.html

Hát ez nagyon abszurdnak tűnik számomra: 1-részt a Firefoxom úgy van beállítva, hogy rákérdez, hogy mit hova mentsen, ha esetleg valaki vagy valami mentést kezdeményezne, másrészt én speciel arról is kevéssé tudok, hogy maga a VLC közvetlenül generálni nekem thumbnaileket, amúgy meg este néztem, hogy az említett lib-ben is már javították a hibát egy ideje a bugs.debian.org -on ez egy ideje lezárt hiba, szóval az, hogy "töröld le a VLC"-t, az számomra nem tűnik olyannak, mint amire azt mondanám, hogy tuti szakszerű (egy chmod is már túlzás lenne :)))

Térjünk vissza a bejelentéshez - neked is összerogyik a vlc a teszt fájltól? Mert igen, akkor lyukas. Ha pedig lyukas, akkor csak részletkérdés, hogyan támadható.

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Valakinek nagyon b.ssza a csőrét, hogy túl jó a VLC... és ingyenes

--
robyboy

:DDDDDDDDDDDD

tinfoil much?

Sok dologról kiderült, hogy amin 10 éve röhögtünk h. ilyen nem létezik vagy kizárt h. megcsinálnák, arról ma már tény szintjén beszélünk. Lehet h. valamiért most a VLC szúrja valakinek a szemét.
--

Én a túl jón nevettem fel.

:)

Ebben véletlenül egyetértünk, foschlassú a VLC az 1.0 óta (ami nem most volt, hanem kb
2007 tájékán), előtte a 0.9x-ig fasza és gyors volt. 12 év alatt se bírták a sebességét helyrehozni.
--

Lehet, a "túl elterjedt" frappánsabb lett volna, a lényeg ugyanaz.

--
robyboy

A flatpak és a snap nem arra volna egyébként, hogy az ilyesmi sebezhetőségeket homokozóban tartsa?