A routine memory optimization to Cloudflare's 1.1.1.1 resolver accidentally changed the order of CNAME records in DNS responses, breaking resolution for clients like glibc's getaddrinfo and causing Cisco switches to reboot. The incident revealed that while RFC 1034 uses the word "preface" to suggest CNAMEs should appear first, it lacks normative language (MUST/SHOULD) making the requirement ambiguous. Some DNS clients use sequential parsing that expects CNAMEs before A records, while others search the entire answer set. Cloudflare reverted the change and proposed an Internet-Draft to formally clarify CNAME ordering requirements in DNS responses.

11m read timeFrom blog.cloudflare.com
Post cover image
Table of contents
TimelineWhat happened?What the RFC saysCNAME chain orderingWhat should resolvers do?The DNSSEC specifications provide contrastDo CNAME records come first?
1 Comment

Sort: