Re: F38 proposal: X Server Prohibits Byte-swapped Clients (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/29/22 08:06, Neal Gompa wrote:
> On Thu, Dec 29, 2022 at 1:10 AM Peter Hutterer <peter.hutterer@xxxxxxxxx> wrote:
>>
>> On Wed, Dec 28, 2022 at 10:16:45PM -0500, Neal Gompa wrote:
>>> On Wed, Dec 28, 2022 at 10:13 PM Peter Hutterer
>>> <peter.hutterer@xxxxxxxxx> wrote:
>>>>
>>>> On Thu, Dec 22, 2022 at 05:41:06AM -0500, Neal Gompa wrote:
>>>>> On Thu, Dec 22, 2022 at 5:30 AM Niklas Schnelle <schnelle@xxxxxxxxxxxxx> wrote:
>>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> This might not be as niche as you might think. I'm one of the
>>>>>> Linux kernel maintainers for s390. Many of us do the vast majority of
>>>>>> their development work natively on s390 systems via SSH from Fedora
>>>>>> laptops. After all mainframes are pretty damn fast at compiling with
>>>>>> plenty of memory and dog fooding is part of quality control. And I'm
>>>>>> sure it's not just the teams working on the Linux kernel but also
>>>>>> plenty of other people working with s390 Linux machines. These s390
>>>>>> machines mostly only host X servers via VNC and usually just for the
>>>>>> installation but they do that too. There is also a hand full of X
>>>>>> clients I run on s390 which are essential for my and many of my
>>>>>> colleagues daily workflows. The most important one is defintely
>>>>>> xsel/xclip to copy from the (neo-)vim/tmux I use for coding to my local
>>>>>> system. Some people also use x3270 via SSH X forwarding from jumphosts,
>>>>>> others use XEmacs. I also know essential internal tools that are run on
>>>>>> s390 hosts via X forwarding. Sure people using X forwarding are capable
>>>>>> of changing configuration defaults but if at all possible I would
>>>>>> suggest to rethink this, as it will create significant hassle for
>>>>>> anyone using their Fedora systems to SSH + X forward to s390 Linux
>>>>>> hosts and it definitely sees more use and thus testing than the
>>>>>> proposal makes it sound.
>>>>>>
>>>>>
>>>>> How bad would it be to force little-endian for the X protocol
>>>>> regardless of architecture?
>>>>
>>>> simply said - not realistic. It's a lot of effort, with zero visible
>>>> benefit beyond the *potential* that we're slightly safer now. Which you
>>>> won't know until you tested it all.
>>>>
>>>> The code works, at least for the bits that are executed. Swapped clients
>>>> run on different hosts by definition so there are probably whole
>>>> extensions that are never used at all and likely completely untested.
>>>> And it's not a matter of "working" but "safe against a malicious client
>>>> sending bad messages". That's a completely different ballpark.
>>>> e.g. the code for CVE-2022-46340 has been there since ~2008 but no-one
>>>> ever noticed the issue - because it works as long as the client is nice.
>>>>
>>>> Forcing the server to little endian only means you'd need to do the
>>>> swapping client-side. There is nothing in place right now to do this and
>>>> while it's probably possible to automate this somewhat with xcb, you're
>>>> still looking at a huge project. And once it all works, you need to
>>>> ensure it works against malicious input data. You could *possibly* MITM
>>>> the whole protocol-swapping into a separate process but, well, goto 10
>>>> :)
>>>>
>>>
>>> Please tell me the Wayland protocol doesn't do this? 🙏
>>
>> the wayland protocol doesn't to this :)
>>
>> Wayland integers must be encoded in the host's (read: compositor) byte
>> order. Somewhat of an exception are the wl_shm image formats which
>> are (apparently) always in little-endian [1].
> 
> So in effect we do this, because things like waypipe won't function
> properly when transmitting across systems of differing endianness?

Waypipe would need to translate the endianness of messages as needed.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux