Server Version#: 1.32.6.7557 / Ubuntu
Running on Ubuntu 20.04
Looks like PMS is running an outdated version of libcurl
The output that was sent to me:
Path : /usr/lib/plexmediaserver/lib/libcurl.so.4
Installed version : 7.88.1
Fixed version : 8.4.0
Thanks for letting us know.
I will notify Engineering.
Given libcurl seems to always have a CVE against it, there might not be any way of having a totally bug-free libcurl.
A saving grace here is that libcurl only talks to Plex.tv and other Plex servers.
It’s not as open & vulnerable as the libcurl shippped with Ubuntu 20.04 itself, true?
20.04 LTS is still using:
curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
So the Ubuntu box in question:
Path : libcurl3-gnutls (via package manager)
Version : 7.68.0-1
Managed by OS : True
Path : libcurl4 (via package manager)
Version : 7.68.0-1
Managed by OS : True
Path : /usr/lib/plexmediaserver/lib/libcurl.so.4
Version : 7.88.1
Looking at my KB for the scan:
The curl_7.68.0-1ubuntu2.20 / libcurl3-gnutls_7.68.0-1ubuntu2.20 / libcurl4_7.68.0-1ubuntu2.20 packages are installed and not affected.
Confirmed its based on the OS: CVE-2023-38545
@ChuckPa
See how bad 20.04 itself is?
Yuck. Plex is ahead of 20.04.6 LTS
As I said, I’m going to write this up for engineering to review and update.
I agree the CVE should be addressed.
Is it a gaping vulnerabiltiy? NO it’s not. libcurl in Plex talks from PMS → Plex.tv
@RevitXman
I’m preparing the submission to Engineering for this.
I apologize but cannot find where Plex’s libcurl.so.4 refers to anything listed in
CVE-2023-38545
Can you help me please because readelf isn’t helping.
A full sweep of my Ubuntu 20.04.6 LTS box shows:
[chuck@lizum ~.1999]$ find /lib* /usr/lib* -name libcurl\* -print
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.6.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.6.0
/usr/lib/vmware/lib/libcurl.so.4
/usr/lib/vmware/lib/libcurl.so.4/libcurl.so.4
/usr/lib/vmware-ovftool/libcurl.so.4
/usr/lib/plexmediaserver/lib/libcurl.so.4
/usr/lib/build/lib/libcurl.so.4
[chuck@lizum ~.2000]$
Plex’s libcurl.so.4 is not Ubuntu’s libcurl.so.4.
readelf easy confirms this.
This:
[chuck@lizum ~.2000]$ readelf -a /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0xead0
Start of program headers: 64 (bytes into file)
Start of section headers: 582456 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 11
Size of section headers: 64 (bytes)
Number of section headers: 29
Section header string table index: 28
Versus
[chuck@lizum ~.1997]$ cd /usr/lib/plexmediaserver/
[chuck@lizum plexmediaserver.1998]$ cd lib
[chuck@lizum lib.1999]$ readelf -a libcurl.so.4
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x225b0
Start of program headers: 64 (bytes into file)
Start of section headers: 444504 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 10
Size of section headers: 64 (bytes)
Number of section headers: 30
Section header string table index: 27
Again, I’m sorry. I’m having a bad day and not connecting the dots
ALL
Just got updated from Engineering.
This CVE and fix was published just last week. Engineering was notified immediately.
(Part of the delay was waiting for the fix to be published)
They reviewed the code and found that it only affected PMS if someone set a very long string to a certain env variable as PMS launched.
– There is an implication here that the machine is compromised (an altered PMS startup environment) but not the point here.
In spite of the effective non-impact operating condition, the module was updated anyway.
The updated libcurl.so will be released in the next PMS release.
sorry for the late reply. Plex.tv is blocked at work so I couldn’t update this. So I assume after this last post I dont need to chase this down?
@RevitXman
No, no need to chase this down. They were so far ahead of me that I had to catch up.
The testing is almost complete.
There was a problem with it on ARMv7 platforms – which is resolved and retesting.
This is all in our “alpha build” stage and will be included when the release comes out
system
Closed
January 16, 2024, 6:26pm
12
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.