Cloudanix VulnDB

CVE-2017-14227

High · 7.5

CVSS

7.5

EPSS

5.5%

Published

Sep 9, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in a data-handling library used by some Kubernetes components lets attackers from the network crash those components by sending specially formatted data, interrupting cluster operations until the components are updated.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Miscalculation of a length argument passed to bson_utf8_validate inside bson_iter_codewscope permits a heap-based buffer over-read when processing crafted BSON input containing code-with-scope elements.

Why it matters to the business

Remote unauthenticated attackers can crash affected Kubernetes control-plane and node components, causing service disruption and potential loss of cluster availability; the packages ship in many container images so blast radius is broad across containerized environments.

How an attack unfolds

An attacker sends a malicious BSON document to any exposed endpoint that parses BSON (for example via etcd, API server, or kubectl interactions) triggering the length miscalculation in bson_iter_codewscope, resulting in an out-of-bounds read inside bson_utf8_validate and process termination.

How to fix it

Upgrade every listed package to the corresponding fixed version: kubernetes-pause-3.9, kubernetes-1.30, kube-apiserver-1.30, kube-controller-manager-1.30, kube-proxy-1.30, kube-scheduler-1.30, kubeadm-1.30, and kubectl-1.30 (all Chainguard and Wolfi variants) to 1.30.1-r1 or newer. Rebuild and redeploy all affected container images; restart impacted pods after upgrade.

How to confirm the fix worked

Verify package versions inside running containers match the fixed releases; confirm absence of the vulnerable bson_iter_codewscope implementation by inspecting linked libbson shared objects or build manifests; run regression tests that feed known-malformed BSON to the parser and ensure no crash occurs.

Typical attack path

  1. Identify a network-reachable component that uses the vulnerable libbson parser
  2. Craft a BSON payload with a code-with-scope element whose declared length exceeds actual data
  3. Transmit the payload to the target parser (e.g., via API request or configuration ingestion)
  4. Trigger the bson_iter_codewscope path leading to bson_utf8_validate over-read
  5. Observe denial-of-service crash or restart loop

How to detect it

Search process crash logs, Kubernetes pod termination events, and container runtime logs for repeated segmentation faults or OOM kills immediately after BSON parsing operations; correlate with inbound traffic containing BSON structures if full packet capture is available.

What your security team should do

  • Immediately schedule upgrades to the 1.30.1-r1 releases for all affected Chainguard and Wolfi Kubernetes packages
  • Prioritize control-plane components (apiserver, controller-manager, scheduler) because they accept external input
  • Add the fixed package versions to image build pipelines and enforce image signing policies
  • Monitor EPSS and KEV status for any future increase in exploit activity despite the low current score

The record

In MongoDB libbson 1.7.0, the bson_iter_codewscope function in bson-iter.c miscalculates a bson_utf8_validate length argument, which allows remote attackers to cause a denial of service (heap-based buffer over-read in the bson_utf8_validate function in bson-utf8.c), as demonstrated by bson-to-json.c.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 libbson-xs-perl 0 0.8.4-1+deb11u1
Debian:12 libbson-xs-perl 0 No fix
Ubuntu:18.04:LTS libbson 0 1.9.2-1
Ubuntu:Pro:16.04:LTS libbson 0 1.3.1-1ubuntu0.1~esm1
Ubuntu:Pro:18.04:LTS libbson 0 1.9.2-1ubuntu0.1~esm2

Related vulnerabilities