Edit in JSFiddle

var canvas = new fabric.Canvas('canvas')

var rect = new fabric.Rect({
	width: 100,
  height:100,
  fill: 'red',
  left: 100,
  top: 100
});

canvas.add(rect)

var clipGroup = new fabric.Group([
	new fabric.Circle({
    radius: 50,
    left: -50,
    top: -50
  }),
  new fabric.Rect({
  	width: 25,
    height: 25,
    left: -12.5,
    top: -12.5,
    globalCompositeOperation: 'destination-out'
  })
]);


rect.clipPath = clipGroup;
  
  <canvas id="canvas" width="300" height="300"></canvas>
#canvas {
  background-color:#ddd;
}

External resources loaded into this fiddle: