VDB
EN
CRITICAL 9.8

GHSA-f7g3-2cg6-f5hj

Apache Camel: camel-mongodb-gridfs producer allows GridFS operation override and NoSQL operator injection via unfiltered  gridfs.*  HTTP headers

빠른 조치

GHSA-f7g3-2cg6-f5hj — org.apache.camel:camel-mongodb-gridfs: 아래 명령으로 수정 버전으로 올리세요.

# pom.xml: bump <version>4.14.8</version> for org.apache.camel:camel-mongodb-gridfs

상세

Improper Input Validation, Improper Access Control vulnerability in Apache Camel in Camel Mongodb Gridfs component.

The camel-mongodb-gridfs producer selects the GridFS operation to perform from the gridfs.operation Exchange header when the endpoint's operation parameter is not set - which is the default. The control-header constants (GridFsConstants.GRIDFS_OPERATION, GRIDFS_OBJECT_ID, GRIDFS_METADATA, GRIDFS_CHUNKSIZE, GRIDFS_FILE_ID_PRODUCED) were the plain strings gridfs.operation, gridfs.objectid, gridfs.metadata, gridfs.chunksize and gridfs.fileid. Because these names do not start with the Camel / camel prefix, HttpHeaderFilterStrategy - which blocks only the Camel header namespace on the HTTP boundary - let them pass from an inbound HTTP request straight into the Exchange.

In a route that bridges an HTTP consumer (for example platform-http) into a mongodb-gridfs: producer with no explicit operation, any HTTP client could therefore set the gridfs.operation header to override the route's intended operation - switching, for example, a file upload to remove (deleting a file identified by the attacker-supplied gridfs.objectid), listAll (enumerating every file in the bucket) or findOne (reading a file) - and supply a gridfs.metadata value that is parsed as a MongoDB document, enabling NoSQL operator injection. No credentials are required when the bridging consumer is unauthenticated.

This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0.

Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. After upgrading, routes that drive GridFS operations or metadata via the raw header names must use CamelGridFsOperation / CamelGridFsObjectId / CamelGridFsMetadata / CamelGridFsChunkSize / CamelGridFsFileId instead of the gridfs.* names. For deployments that cannot upgrade immediately, set an explicit operation on the mongodb-gridfs: endpoint so the operation is not taken from a header, and strip the gridfs.* headers from any untrusted ingress before the producer.

이 버전이 영향받나요?

사용 중인 패키지 버전을 입력하면 즉시 평가합니다.

영향 패키지

Maven / org.apache.camel:camel-mongodb-gridfs
최초 영향 버전: 4.0.0 수정 버전: 4.14.8
수정 # pom.xml: bump <version>4.14.8</version> for org.apache.camel:camel-mongodb-gridfs
Maven / org.apache.camel:camel-mongodb-gridfs
최초 영향 버전: 4.15.0 수정 버전: 4.18.3
수정 # pom.xml: bump <version>4.18.3</version> for org.apache.camel:camel-mongodb-gridfs
Maven / org.apache.camel:camel-mongodb-gridfs
최초 영향 버전: 4.19.0 수정 버전: 4.21.0
수정 # pom.xml: bump <version>4.21.0</version> for org.apache.camel:camel-mongodb-gridfs

참고