1. 02 Apr, 2019 2 commits
  2. 26 Mar, 2019 2 commits
  3. 15 Mar, 2019 2 commits
  4. 14 Mar, 2019 1 commit
  5. 12 Mar, 2019 2 commits
    • Emmanuele Bassi's avatar
      Port the JS authority to mozjs-60 · dd00683e
      Emmanuele Bassi authored
      API changes in mozjs that need to be reflected in the JS authority:
      
       - the JS::CompileOptions constructor and the JS::CompartmentOptions
         do not allow setting a JS version any more
      
       - do not use NULL comparisons for C++ objects
      
       - the resize() method for a vector has a return value that needs
         to be handled
      
       - JSClassOps has different fields
      dd00683e
    • Emmanuele Bassi's avatar
      Depend on mozjs-60 · c9cd7024
      Emmanuele Bassi authored
      This is the new ESR version of the Mozilla JS engine, superceding
      mozjs-52.
      c9cd7024
  6. 05 Feb, 2019 2 commits
    • Jan Rybar's avatar
      Merge branch 'allow-unset-process-uid' into 'master' · dbf58d4e
      Jan Rybar authored
      Allow uid of -1 for a PolkitUnixProcess
      
      See merge request !17
      dbf58d4e
    • Matthew Leeds's avatar
      Allow uid of -1 for a PolkitUnixProcess · c05472b8
      Matthew Leeds authored
      Commit 2cb40c4d changed PolkitUnixUser, PolkitUnixGroup, and
      PolkitUnixProcess to allow negative values for their uid/gid properties,
      since these are values above INT_MAX which wrap around but are still
      valid, with the exception of -1 which is not valid. However,
      PolkitUnixProcess allows a uid of -1 to be passed to
      polkit_unix_process_new_for_owner() which means polkit is expected to
      figure out the uid on its own (this happens in the _constructed
      function). So this commit removes the check in
      polkit_unix_process_set_property() so that new_for_owner() can be used
      as documented without producing a critical error message.
      
      This does not affect the protection against CVE-2018-19788 which is
      based on creating a user with a UID up to but not including 4294967295
      (-1).
      c05472b8
  7. 08 Jan, 2019 2 commits
  8. 06 Dec, 2018 1 commit
  9. 04 Dec, 2018 2 commits
    • Zbigniew Jędrzejewski-Szmek's avatar
      b534a107
    • Zbigniew Jędrzejewski-Szmek's avatar
      Allow negative uids/gids in PolkitUnixUser and Group objects · 2cb40c4d
      Zbigniew Jędrzejewski-Szmek authored
      (uid_t) -1 is still used as placeholder to mean "unset". This is OK, since
      there should be no users with such number, see
      https://systemd.io/UIDS-GIDS#special-linux-uids.
      
      (uid_t) -1 is used as the default value in class initialization.
      
      When a user or group above INT32_MAX is created, the numeric uid or
      gid wraps around to negative when the value is assigned to gint, and
      polkit gets confused. Let's accept such gids, except for -1.
      
      A nicer fix would be to change the underlying type to e.g. uint32 to
      not have negative values. But this cannot be done without breaking the
      API, so likely new functions will have to be added (a
      polkit_unix_user_new variant that takes a unsigned, and the same for
      _group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will
      require a bigger patch.
      
      Fixes #74.
      2cb40c4d
  10. 03 Dec, 2018 1 commit
  11. 02 Dec, 2018 1 commit
  12. 30 Nov, 2018 1 commit
  13. 29 Nov, 2018 1 commit
  14. 06 Nov, 2018 5 commits
  15. 25 Sep, 2018 1 commit
  16. 12 Sep, 2018 3 commits
  17. 23 Aug, 2018 4 commits
  18. 16 Aug, 2018 1 commit
  19. 15 Aug, 2018 1 commit
    • Jan Rybar's avatar
      Leaking zombie child processes · 8638ec5c
      Jan Rybar authored
      Resolves: bz#106021
      
      Subject: [PATCH] polkitd: fix zombie not reaped when js spawned process timed
       out
      
      The child watch source attached to thread context didn't work due
      to the release of it's main loop and context outside. So we attach
      the source to the global default main context to make it work and
      avoid zombies.
      8638ec5c
  20. 09 Aug, 2018 1 commit
  21. 10 Jul, 2018 1 commit
  22. 03 Jul, 2018 2 commits
    • Miloslav Trmač's avatar
      Update NEWS for release · b0a5d0f1
      Miloslav Trmač authored
      b0a5d0f1
    • Miloslav Trmač's avatar
      Fix CVE-2018-1116: Trusting client-supplied UID · bc7ffad5
      Miloslav Trmač authored
      As part of CVE-2013-4288, the D-Bus clients were allowed (and
      encouraged) to submit the UID of the subject of authorization checks
      to avoid races against UID changes (notably using executables
      set-UID to root).
      
      However, that also allowed any client to submit an arbitrary UID, and
      that could be used to bypass "can only ask about / affect the same UID"
      checks in CheckAuthorization / RegisterAuthenticationAgent /
      UnregisterAuthenticationAgent.  This allowed an attacker:
      
      - With CheckAuthorization, to cause the registered authentication
        agent in victim's session to pop up a dialog, or to determine whether
        the victim currently has a temporary authorization to perform an
        operation.
      
        (In principle, the attacker can also determine whether JavaScript
        rules allow the victim process to perform an operation; however,
        usually rules base their decisions on information determined from
        the supplied UID, so the attacker usually won't learn anything new.)
      
      - With RegisterAuthenticationAgent, to prevent the victim's
        authentication agent to work (for a specific victim process),
        or to learn about which operations requiring authorization
        the victim is attempting.
      
      To fix this, expose internal _polkit_unix_process_get_owner() /
      obsolete polkit_unix_process_get_owner() as a private
      polkit_unix_process_get_racy_uid__() (being more explicit about the
      dangers on relying on it), and use it in
      polkit_backend_session_monitor_get_user_for_subject() to return
      a boolean indicating whether the subject UID may be caller-chosen.
      
      Then, in the permission checks that require the subject to be
      equal to the caller, fail on caller-chosen UIDs (and continue
      through the pre-existing code paths which allow root, or root-designated
      server processes, to ask about arbitrary subjects.)
      Signed-off-by: 's avatarMiloslav Trmač <mitr@redhat.com>
      bc7ffad5
  23. 03 Apr, 2018 1 commit
    • Ray Strode's avatar
      NEWS: fix date from 2017 to 2018 for 0.114 entry · dda43190
      Ray Strode authored
      The NEWS entry for the 0.114 release says the release was made a
      year earlier than it was.
      
      It's too late to fix the NEWS file in the actual release, but
      still better to have it correct in version control.
      dda43190