• 18 Posts
  • 1.94K Comments
Joined 1 year ago
cake
Cake day: June 6th, 2023

help-circle
  • The questionable commit:

        {
          // Add the first line of localized text...
          cupsFilePrintf(fp, "*%s.%s %s/", lang->language, ppd_option, ppd_choice);
          while (*text && *text != '\n')
          {
            // Escape ":" and "<"...
            if (*text == ':' || *text == '<')
              cupsFilePrintf(fp, "<%02X>", *text);
            else
              cupsFilePutChar(fp, *text);
            text ++;
          }
          cupsFilePuts(fp, ": \"\"\n");
        }
    

    Can someone explain to me how this allows arbitrary code execution? As far as I can see, all it does iterate through a string and markup some special characters.

    Edit: Okay, after reading the blog post, and this fantastic bug report, it sounds like to print to a CUPS server, you send it a message on port 631 using an IPP (some print protocol) server. CUPS then requests attributes of the IPP server, one of which being the print filter command to run (“Foomatic-rip”) to use to convert a PS or PDF into native print code. By requesting attributes, an exploit involving string escaping through the use of unexpected spaces or quotes can override the Foomatic print command. Arbitrary text can be supplanted, which will then be executed by the CUPS server.






  • Exactly. Is it just a webpage served up with some native UI buttons to make it look more glossy? Are app permissions implemented as separate system users under POSIX? How many apps are written in languages/frameworks running from interpreters, and how many actually touch bare metal? Are app media that use Gallery permissions duplicating data or linking to it?

    No one knows what an app is, the app development frameworks I learned 10 years ago are no longer relevant and have likely shifted to a whole new paradigm. If it looks perplexing to me, I can imagine it looks like magic to non-techies.















  • Finally!

    Do have any idea how hard it is to make shitty joke, and then for people to take you seriously, and so you commit more to it and dig deeper with wilder and more outlandish statements, hoping that someone - anyone - would realise the farce… only for time to tick on, and it dawns on you that people took you at face value, and that you will forever be labeled as an idiot and not as a joker.

    You have redeemed my faith in others good sir, and I wholeheartedly concede that this was all nothing but a fools gambit contrived by a bored giggling moron one lazy afternoon.