diff -Nur cyrus-imapd-2.4-2.4.9.o/imap/idled.c cyrus-imapd-2.4-2.4.9/imap/idled.c
--- cyrus-imapd-2.4-2.4.9.o/imap/idled.c	2011-09-08 11:24:23.419223379 +0200
+++ cyrus-imapd-2.4-2.4.9/imap/idled.c	2011-09-08 12:04:55.987218813 +0200
@@ -360,7 +360,7 @@
     unlink(local.sun_path);
     len = sizeof(local.sun_family) + strlen(local.sun_path) + 1;
 
-    oldumask = umask((mode_t) 0); /* for Linux */
+    oldumask = umask((mode_t) 0077); /* for Linux */
 
     if (bind(s, (struct sockaddr *)&local, len) == -1) {
 	perror("bind");
@@ -368,7 +368,7 @@
 	exit(1);
     }
     umask(oldumask); /* for Linux */
-    chmod(local.sun_path, 0777); /* for DUX */
+    chmod(local.sun_path, 0700); /* for DUX */
 
     /* get ready for select() */
     FD_ZERO(&read_set);
