Skip to content
  • Alban Crequy's avatar
    CVE-2014-3477: deliver activation errors correctly, fixing Denial of Service · 4815aba0
    Alban Crequy authored
    How it should work:
    
    When a D-Bus message activates a service, LSMs (SELinux or AppArmor) check
    whether the message can be delivered after the service has been activated. The
    service is considered activated when its well-known name is requested with
    org.freedesktop.DBus.RequestName. When the message delivery is denied, the
    service stays activated but should not receive the activating message (the
    message which triggered the activation). dbus-daemon is supposed to drop the
    activating message and reply to the sender with a D-Bus error message.
    
    However, it does not work as expected:
    
    1. The error message is delivered to the service instead of being delivered to
       the sender. As an example, the error message could be something like:
    
         An SELinux policy prevents this sender from sending this
         message to this recipient, [...] member="MaliciousMethod"
    
       If the sender and the service are malicious confederates and agree on a
    ...
    4815aba0