Calling the program in /proc/sys/kernel/core_pattern when it is a pipe even on ulimit 0 is a design choice, not a bug. We do not want to enable ulimit -c gemerally just for getting apport reports, since that would clutter the system with core files. (This now made it into the upstream kernel, too.)
The actual bug is that the kernel wants to dump core on SIGQUIT, which does not seem justified to me. It is not a signal that indicates a program error.