이 페이지에는 Couchbase에 대한 중요 알림 및 권고가 나열되어 있습니다.
업데이트 알림을 구독하여 Couchbase Server에 대한 최신 중요 경고 및 권고에 대한 정보를 받아보세요. 가입하려면 지원 사이트에서 등록하고 이 문서를 따르세요: 공지 사항 - 카우치베이스 지원
이 페이지에는 Couchbase에 대한 중요 알림 및 권고가 나열되어 있습니다.
업데이트 알림을 구독하여 Couchbase Server에 대한 최신 중요 경고 및 권고에 대한 정보를 받아보세요. 가입하려면 지원 사이트에서 등록하고 이 문서를 따르세요: 공지 사항 - 카우치베이스 지원
특정 상황에서 지원을 위한 로그 수집과 관련된 자격 증명이 의도치 않게 공개될 수 있는 보안 취약점이 동기화 게이트웨이에서 발견되었습니다. 이 취약점은 로그 수집 프로세스를 시작하는 데 사용되는 자격 증명 집합에 영향을 미쳤습니다. 이 문제를 해결하는 Sync Gateway 3.2.6으로 업그레이드하고 영향을 받는 기간 동안 로그 수집을 시작하는 데 사용된 모든 자격 증명을 교체하는 것이 좋습니다.
.NET SDK v3.7.1 이전 버전에서는 TLS 인증서에 대한 호스트 이름 확인이 모든 경우에 제대로 적용되지 않았습니다.
1.78 이전 버전의 Bouncy Castle Java 암호화 API에서 문제가 발견되었습니다. 위조된 서명과 공개 키를 통해 Ed25519 인증 코드 무한 루프가 발생할 수 있습니다.
시스템의 중요한 파일에 대한 무단 액세스를 허용할 수 있는 보안 문제가 Windows용 Couchbase Server에서 발견되었습니다. 이 취약점은 권한 수준에 따라 / etc / passwd 또는 / etc / shadow와 같은 파일에 대한 액세스 권한을 부여할 수 있습니다.
이 취약점은 악용하기는 어렵지만 여러 프로토콜을 통해 네트워크에 액세스할 수 있는 인증되지 않은 공격자가 영향을 받는 제품을 잠재적으로 손상시킬 수 있습니다. 익스플로잇에 성공하면 액세스 가능한 데이터의 무단 업데이트, 삽입 또는 삭제는 물론 특정 데이터 하위 집합에 대한 무단 읽기 액세스 권한이 부여될 수 있습니다.
보안 관리자 역할이 있는 사용자가 '관리자' 역할이 있는 그룹에 새 사용자를 만들어 의도한 권한보다 높은 권한을 부여할 수 있습니다.
이 취약점을 통해 여러 프로토콜을 통해 네트워크에 액세스할 수 있는 인증되지 않은 공격자가 Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition을 손상시킬 수 있습니다. 이 취약점을 공격하는 데 성공하면 일부 Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition 액세스 데이터에 대한 무단 업데이트, 삽입 또는 삭제 액세스가 허용될 수 있습니다.
The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other protocols and products, have a birthday bound of approximately four billion blocks, which makes it easier for remote attackers to obtain cleartext data via a birthday attack against a long-duration encrypted session, as demonstrated by an HTTPS session using Triple DES in CBC mode, aka a “Sweet32” attack.
들어오는 HTTP 요청의 호스트 헤더가 위치 헤더에 맹목적으로 복사되었습니다.
SDK will negotiate with SCRAM-SHA by default which allows for a MITM to negotiate for PLAIN credentials
120.0.6099.224 이전 버전의 Google Chrome에서 V8의 범위를 벗어난 메모리 액세스로 인해 원격 공격자가 조작된 HTML 페이지를 통해 힙 손상을 악용할 수 있는 가능성이 발견되었습니다.
파이썬 암호화 패키지에서 결함이 발견되었습니다. 이 문제로 인해 원격 공격자가 RSA 키 교환을 사용하는 TLS 서버에서 캡처된 메시지를 해독하여 기밀 또는 민감한 데이터가 노출될 수 있습니다.
The Query stats endpoint did not implement correct authentication, making it possible to view the stats information
데이터 리더 권한이 있는 사용자가 많은 수의 문서를 요청하는 GetKey를 전송하여 데이터 서비스를 종료하고 메모리 부족(OOM) 오류를 트리거할 수 있습니다.
A user with Data Reader role could lock a Data Service reader thread for a significant time by requesting a high number of keys and potentially lock up all reader threads by issuing the same command on multiple connections
네트워크 포트 9119 및 9121은 애널리틱스 서비스에서 호스팅하는 인증되지 않은 RMI 서비스 포트로, 권한 상승을 초래할 수 있습니다.
The cluster’s otpCookie was leaked to users with Full Admin role on API endpoint serverGroups and both Cluster Admin and Full Admin on API endpoint engageCluster2. This could be used to elevate privileges
Calling cURL via SQL++ (N1QL) using the Query Service to the localhost’s /diag/eval endpoint wasn’t fully prevented.
쿼리 서비스의 SQL++(N1QL) cURL 허용 목록 보호는 제한된 호스트에 대한 액세스를 방지하는 데 충분하지 않았습니다.
Calling cURL via SQL++ (N1QL) via the Eventing Service to the local host’s /diag/eval endpoint wasn’t fully prevented.
로깅 이벤트로 인해 내부 @ns_server 관리자 자격 증명이 diag.log에서 인코딩된 형태로 유출되었습니다.
The private key used for Cross Datacenter Replication (XDCR) was leaked in the goxdcr.log
컬의 결함으로 인해 SOCKS5 프록시 핸드셰이크에서 힙 기반 버퍼가 오버플로됩니다.
DH_generate_key() 함수를 사용하여 X9.42 DH 키를 생성하는 애플리케이션과 DH_check_pub_key(), DH_check_pub_key_ex() 또는 EVP_PKEY_public_check()를 사용하여 X9.42 DH 키 또는 X9.42 DH 파라미터를 검사하는 애플리케이션은 긴 지연이 발생할 수 있습니다. 확인 중인 키 또는 매개변수가 신뢰할 수 없는 출처에서 가져온 경우 서비스 거부가 발생할 수 있습니다.
HTTP/2 프로토콜은 요청 취소로 많은 스트림을 빠르게 초기화할 수 있기 때문에 서비스 거부를 허용합니다.
HTTP/2 프로토콜은 요청 취소로 많은 스트림을 빠르게 초기화할 수 있기 때문에 서비스 거부를 허용합니다.
정책 제약 조건이 포함된 X.509 인증서 체인의 검증과 관련된 OpenSSL의 취약점으로, 공격자는 이 취약점을 악용하여 악성 인증서 체인을 생성하여 컴퓨팅 리소스를 기하급수적으로 사용하여 영향을 받는 시스템에 대한 서비스 거부(DoS) 공격을 일으킬 수 있습니다.
악의적으로 조작된 HTTP/2 스트림은 HPACK 디코더에서 과도한 CPU 소비를 유발하여 소수의 소규모 요청으로 인해 서비스 거부를 일으킬 수 있습니다.
114.0.5735.110 이전 버전의 Google Chrome에서 V8의 유형 혼동으로 인해 원격 공격자가 조작된 HTML 페이지를 통해 힙 손상을 악용할 수 있었습니다.
OpenJDK를 버전 11.0.19로 업데이트하여 수많은 CVE를 해결하세요.
공격자는 카우치베이스 서버 윈도우 UI를 통해 파일 시스템을 탐색하고 카우치베이스가 액세스할 수 있는 파일을 표시할 수 있습니다. 이 취약점은 인증이 필요하지 않습니다. 카우치베이스 서버 관리자 UI의 URL에 폴더/파일을 추가하기만 하면 익스플로잇할 수 있습니다.
악의적인 사용자는 서버에 접속하여 대량의 명령을 전송함으로써 멤캐시드 서버를 쉽게 다운시킬 수 있습니다.
7.0 이전 노드를 7.2 클러스터에 추가할 때 개인 키가 debug.log로 유출됩니다.
4.1.86.Final 이전 버전에서는 무한 재귀로 인해 잘못 작성된 메시지를 구문 분석할 때 StackOverflowError가 발생할 수 있습니다.
api/nsstats의 FTS 통계 엔드포인트는 올바른 인증을 구현하지 않기 때문에 인증 없이도 Couchbase Server 버킷 이름, FTS 인덱스 이름 및 FTS 인덱스의 구성을 볼 수 있습니다. 버킷과 인덱스의 내용은 노출되지 않습니다.
노드 조인이 실패하는 동안 REST 요청을 하는 사용자의 수정되지 않은 자격 증명이 로그 파일로 유출될 수 있습니다.
카우치베이스 서버 노드가 시작되는 동안 보안 쿠키가 Erlang 배포 프로토콜에 대한 액세스 제어가 없는 “nocookie”로 설정되는 짧은 기간이 있습니다. 이 기간 동안 공격자가 이 프로토콜에 연결하면 연결이 끊어질 때까지 언제든지 임의의 클러스터 노드에서 원격으로 임의의 코드를 실행할 수 있습니다. 실행된 코드는 카우치베이스 서버와 동일한 권한으로 실행됩니다.
깊게 중첩된 배열의 사용을 방지하는 검사가 부족하여 Couchbase 분석 서비스의 리소스 고갈이 발생할 수 있습니다.
매우 큰(또는 바인딩되지 않은) HTTP 요청 본문으로 인해 백업 서비스에서 OOM(메모리 부족) 오류가 발생할 수 있습니다.
99.0.4844.84 이전 버전에서 원격 공격자가 조작된 요청을 통해 잠재적으로 힙 손상을 악용할 수 있는 유형 혼동이 발생함에 따라 Couchbase 서버 이벤트 서비스, 뷰 엔진, XDCR 및 N1QL UDF에 사용되는 v8 Javascript 엔진이 업데이트되었습니다.
악성 파일에 파일 페이지 헤더에 부적절한 값(예: 양수 값이 예상되는 곳에 음수 값)이 포함된 경우 공격자는 Couchbase 분석 서비스에서 선택적으로 사용하는 Parquet 파일을 사용하여 서비스 거부(DoS)를 일으킬 수 있습니다. 이 문제는 Apache Parquet 라이브러리를 최신 버전으로 업데이트하면 해결됩니다.
카우치베이스 서버에서 tls/ssl 기능을 사용할 때 특정 상황에서 클라이언트 인증을 우회할 수 있습니다. 특히, ssl/tls/dtls 서버와 클라이언트 인증 옵션 “{verify, verify_peer}”를 사용하는 모든 애플리케이션이 이 취약점의 영향을 받습니다. 지원되는 트랙에서는 erlang/OTP 런타임의 23.3.4.15, 24.3.4.2 및 25.0.2 패치를 통해 수정이 릴리스되었습니다. 인증서 기반 인증을 사용하는 클러스터만 영향을 받습니다.
드물지만 특정 충돌로 인해 생성된 인증서의 개인 키가 로그 파일에 유출될 수 있습니다.
여러 Couchbase Server 서비스에서 사용되는 Go 프로그래밍 언어 및 관련 라이브러리를 1.17.9+ 또는 1.18.1+ 버전으로 업데이트하여 수많은 CVE를 해결했습니다.
jackson-databind, before 2.13.0 allows a Java StackOverflow exception and denial of service via a large depth of nested objects. This library is used by the Couchbase Server Analytics Service.
openssl 구성 요소인 c_rehash의 결함을 수정하기 위해 openssl을 업데이트했습니다. 이 스크립트는 디렉터리를 스캔하여 디렉터리에 있는 각 .pem 및 .crt 파일의 해시값을 가져옵니다. 그런 다음 해시 값으로 명명된 각 파일에 대한 심볼릭 링크를 만듭니다. 이 스크립트에는 스크립트에 명령 인젝션을 허용하는 결함이 있습니다.
In Couchbase Server 7.1.0 and later it’s possible to provide a passphrase to Couchbase Server to unlock an encrypted TLS private key. This passphrase was found to be leaked in the log files as a Base64 encoded string when one of the Couchbase services, other than the Data Service, was starting up. This affects the Index Service, Query Service, Analytics Service, Backup Service and Eventing Service if the optional encrypted TLS keys feature is used. Note, an attacker needs to have access to the logs as well as the private key to be able to perform attacks such as performing a man in the middle attack or decrypting network communication. Using operating system protections to restrict access to these files can be an effective mitigation strategy.
Ramda 0.27.0 and earlier allows attackers to compromise integrity or availability of application via supplying a crafted object (that contains an own property “{}proto{}”) as an argument to the function, known as prototype pollution. Prototype pollution type attacks allow bypassing input validation and triggering unexpected javascript execution.
js-beautify has a dependency with a known vulnerability, Minimist. Minimist <=1.2.5 is vulnerable to Prototype Pollution via file index.js, function setKey() (lines 69-95). Prototype pollution attacks allow bypassing input validation and triggering unexpected javascript execution.
Couchbase 서버 분석 서비스로 보조 인덱스를 만들 때 인덱싱된 필드에 대해 사용자에게 보고되고 기록되는 몇 가지 유효성 검사가 있습니다. 코드 ASX0013의 오류 메시지는 중복된 필드 이름이 있다는 것을 보고하고 기록하는 여러 경로에서 사용됩니다. 이렇게 기록된 유효성 검사 메시지의 필드 이름은 삭제되지 않습니다. 또한 코드 ASX1079의 오류에는 삭제되지 않은 필드 이름이 있습니다.
encryption=full로 구성된 Analytics 원격 링크에 대해 TLS 연결을 설정하지 못하면 런타임은 인증을 위해 SCRAM-SHA를 사용하여 원격 클러스터에 대한 비-TLS 연결을 시도하여 (기본값이 아닌) TLS 포트를 검색하려고 시도합니다. SCRAM-SHA를 사용할 때 자격 증명이 공유되지는 않지만, 시스템이 TLS 연결을 지정한 규정된 암호화 수준을 다운그레이드하지 않을 것으로 예상할 수 있습니다. 이 폴백 메커니즘이 제거되었으므로 처음에 TLS 연결 설정에 실패하는 경우 링크 구성의 일부로 올바른 TLS 포트가 제공될 때까지 연결 링크가 실패할 뿐입니다.
백업 서비스가 감사 메시지를 기록하지 못하면 감사 로그 데이터가 삭제되지 않은 backup_service.log로 유출됩니다.
UTF-16 디코더가 무한 루프에 진입하여 프로그램이 충돌하거나 메모리가 부족해질 수 있는 golang.org/x/text/encoding/unicode 패키지를 발견했습니다.
couchbase-cli는 마스터 비밀번호를 프로세스 인수로 사용하는 매우 수명이 짧은 erlang 프로세스를 생성하므로, 그 시점에 프로세스 목록을 얻는 사람은 누구나 마스터 비밀번호를 갖게 됩니다. 이는 비밀 관리 기능을 사용하는 Couchbase Server 클러스터에만 영향을 줍니다.
RBAC 역할에 컬렉션 수준 권한(예: 쿼리_선택[src:_기본:컬렉션1])이 포함되어 있고 컬렉션 이름이 삭제되었다가 버킷에서 다시 만들어지는 경우에도 컬렉션 수준 권한은 계속 유효합니다. 따라서 컬렉션이 삭제될 때 해당 권한이 제거되었어야 하는 경우에도 해당 역할을 가진 사용자가 컬렉션에 액세스할 수 있습니다.
영향을 받는 Couchbase Server 버전에서는 인증 없이도 XDCR 내부 설정을 수정할 수 있습니다.
영향을 받는 Couchbase Server 버전에서는 “server-eshell” 명령을 사용할 때 명령줄 인수를 통해 Erlang ‘쿠키’가 ‘erl'로 전달되며, 이로 인해 ’couchbase-cli“ 프로세스 인수를 읽을 수 있는 모든 사람에게 ”쿠키‘가 유출됩니다. 쿠키는 클러스터에서 관리 작업을 수행하는 데 사용될 수 있으므로 비밀로 유지되어야 합니다.
파이썬에서 결함이 발견되었습니다. Python의 HTTP 클라이언트 코드에서 부적절하게 처리된 HTTP 응답으로 인해 HTTP 서버를 제어하는 원격 공격자가 클라이언트 스크립트를 무한 루프에 진입시켜 CPU 시간을 소모하도록 만들 수 있습니다. 이 문제는 개발자 미리 보기 기능인 애널리틱스 UDF를 사용하는 클러스터에만 영향을 줍니다.
샘플 버킷(맥주 샘플, 게임심 샘플, 여행 샘플)을 로드하는 동안 오류가 발생하면 내부 @ns_server 관리자 사용자의 비밀번호가 로그(debug.log, error.log, info.log, reports.log)에 유출될 수 있습니다. 관리 작업을 수행하는 데 @ns_server 계정을 사용할 수 있습니다.
클러스터 노드 추가를 수행하는 동안 클러스터 관리자(ns_server)의 충돌로 인해 개인 키가 로그 파일로 유출될 수 있습니다. 로그 파일에 액세스할 수 있는 사람은 클러스터에 대한 보안 네트워크 연결을 해독할 수 있습니다. TLS를 사용하는 경우 클러스터에 로그인하는 사용자 및 애플리케이션의 자격 증명을 획득할 수 있습니다.
Diagnostic endpoints such as diag/eval are restricted and can only be executed from the loopback network. However, the checks put in place to address CVE-2018-15728 do not correctly check if a “X-Forwarded-For” header contains a loopback address. This header can be manipulated to workaround the loopback restriction.
이 취약점은 RFC6890에 따라 비공개 네트워크 및 공유 주소 공간에서 시작된 요청으로 제한됩니다.
이러한 엔드포인트에 요청을 성공적으로 발행하려면 사용된 "X-Forwarded-For" 헤더에 관계없이 사용자에게 전체 관리자 권한이 필요합니다.
이 문제에 대한 해결 방법은 필요하지 않은 환경에서 "X-Forwarded-For" 헤더가 포함된 Couchbase Server 노드에 대한 요청을 방화벽으로 차단하는 것입니다.
인식: 무카히트 카라다그 / 프로다프트
The Index Service runs several network processes, Queryport, Dataport and Adminport. These are used to communicate with other Couchbase services. These processes take part in node to node communication, but do not communicate directly with SDK applications. In the affected versions of Couchbase Server, these network processes do not enforce authentication, so will process requests sent by unauthenticated users.
쿼리포트 서버는 인덱스 스캔 결과를 통해 인증되지 않은 사용자에게 응답할 수 있습니다.
데이터포트 서버는 인증되지 않은 사용자가 인덱싱된 데이터를 수정할 수 있도록 허용할 수 있습니다.
관리포트 서버는 인증되지 않은 사용자가 인덱스 생성 및 삭제와 같은 DDL 작업을 수행할 수 있도록 허용할 수 있습니다.
가능한 해결 방법: 이 포트는 Couchbase Server의 내부 통신에만 사용되므로 네트워크 계층에서 비 Couchbase Server 노드 및 프로세스와의 연결/통신을 비활성화할 수 있습니다.
인증되지 않은 사용자는 클러스터 관리자에게 REST API 호출을 할 수 있습니다. 클러스터 관리자가 이전에 보지 못한 각 http 요청은 새로운 메트릭을 생성하게 됩니다. 각각의 새 메트릭은 약간의 메모리와 디스크 공간을 차지하므로 메모리 누수 및 디스크 공간 누수가 발생할 수 있습니다. 충분한 리소스가 사용되면 Couchbase Server 노드에 장애가 발생할 수 있습니다.
동기화 게이트웨이가 X.509 클라이언트 인증서를 사용하여 Couchbase Server로 인증하도록 구성된 경우, 관리자 REST API에 제공된 관리자 자격 증명이 무시되어 인증되지 않은 사용자의 권한이 에스컬레이션될 수 있습니다. 공용 REST API는 이 문제의 영향을 받지 않습니다.
해결 방법: 부트스트랩 구성 내에서 X.509 인증서 기반 인증을 사용자 이름 및 비밀번호 인증으로 대체합니다.
관리자가 클러스터에 신뢰할 수 없는 노드를 추가하면 비밀로 유지되어야 하는 클러스터 쿠키가 실수로 전송될 위험이 있습니다.
This can be addressed by deploying TLS encryption with Certificate Authority signed certificates. When using TLS, a trusted certificate is required to be present on the incoming node from Couchbase Server version 7.1.0.
인식: Ofir Hamam, security researcher at EY Israel’s Advanced Security Center
Couchbase Operator 2.2.0 introduced an optimization that simplified log collection. When logs are collected, the support tool – “cbopinfo” – is used to collect Kubernetes resources necessary to gain insight into intended resource state, and current resource status. Prior to the affected versions, secret data was redacted, however this functionality was not retained in the new collection method. As a result, logs would have erroneously contained any passwords, tokens, and private keys within the scope of the log collection. By default, this scope will be limited to the Kubernetes namespace in which the Couchbase Server cluster under inspection resides. The exception to this is if the –system flag was specified, in which case all secrets on the platform will have been exposed. Logs are used to identify and remediate customer issues, and therefore only customers that have supplied logs, with the specified tool versions, are affected. Couchbase will ensure that all affected logs which have been provided are redacted.
Couchbase 분석 서비스에서 사용하는 Apache Log4J 유틸리티의 중요한 문제는 잠재적인 원격 코드 실행(RCE) 및 민감한 데이터 추출을 방지하기 위해 업데이트가 필요합니다.
동기화 게이트웨이가 Couchbase Server에서 데이터를 읽고 쓰기 위해 사용하는 버킷 자격 증명이 버킷에 기록된 동기화 문서 내의 메타데이터에 안전하지 않게 저장되고 있었습니다. 읽기 액세스 권한이 있는 사용자가 이러한 자격 증명을 사용하여 쓰기 액세스 권한을 얻을 수 있었습니다. 이 문제는 동기화 게이트웨이가 x.509 클라이언트 인증서로 인증된 클러스터에는 영향을 미치지 않습니다. 또한 이 문제는 동기화 게이트웨이에서 공유 버킷 액세스가 사용 설정되어 있지 않은 클러스터에는 영향을 미치지 않습니다.
Remote Cluster XDCR credentials can get leaked in debug logs. Config key tombstone purging was added in Couchbase Server 7.0.0. This issue happens when a config key, which is being logged, has a tombstone purger time-stamp attached to it.
As part of a cbcollect_info log collection, Couchbase Server collects the process info of all the processes running in the Erlang VM. The issue occurs when the cluster manager forwards an HTTP request from the pluggable UI (query workbench, etc.) to the specific service. In the backtrace, the Basic Auth Header included in the HTTP request, has the “@” user credentials of the node processing the UI request. For the issue to occur, the process info has to be triggered at the exact moment when a pluggable UI request is being serviced by the cluster manager.
카우치베이스 서버 명령줄 도구에서 사용되는 1.26.5 이전의 urllib3에서 문제가 발견되었습니다. 이러한 도구에 권한 구성 요소에 @ 문자가 많이 포함된 URL이 제공되면 권한 정규식이 치명적인 역추적을 나타내며, URL이 매개 변수로 전달되거나 HTTP 리디렉션을 통해 리디렉션되는 경우 명령줄 도구의 서비스 거부를 유발할 수 있습니다.
Python용 3.3.2 이전 암호화 패키지에서 Couchbase Server 명령줄 도구에서 사용하는 것처럼 다중 GB 값을 대칭적으로 암호화하기 위한 특정 업데이트 호출 시퀀스에서 해당 도구에서 정수 오버플로 및 버퍼 오버플로가 발생할 수 있습니다.
이로 인해 데이터 서비스를 사용할 수 없게 될 수 있습니다. 방화벽을 사용하여 애플리케이션의 네트워크 트래픽만 Couchbase Server 클러스터와 통신할 수 있도록 허용하는 것이 좋습니다.
이로 인해 데이터 서비스를 사용할 수 없게 될 수 있습니다. 방화벽을 사용하여 애플리케이션의 네트워크 트래픽만 Couchbase Server 클러스터와 통신할 수 있도록 허용하는 것이 좋습니다.
외부 인증에 사용되는 LDAP 또는 Active Directory 서버가 안전하지 않은 비인증 바인딩을 허용하도록 구성된 경우, Couchbase 서버 클러스터 관리자는 외부 사용자가 빈 비밀번호로 인증될 수 있도록 허용합니다.
이를 방지하기 위해 결과 코드가 "unwillingToPerform"인 인증되지 않은 바인드 요청을 실패하도록 LDAP 서버를 구성할 수 있습니다.
클라이언트에서 악의적으로 조작된 재협상 ClientHello 메시지를 전송할 경우 TLS 서버가 충돌할 수 있는 여러 보안 문제가 OpenSSL에서 해결되었습니다.
merge() 함수를 수정하여 서비스 거부를 일으킬 수 있는 Couchbase UI에서 사용되는 Angular의 문제입니다.
일반 테이블 표현식 N1QL 쿼리가 RBAC 보안 제어를 올바르게 적용하지 않아 필요한 권한이 없는 사용자에게 읽기 액세스 권한을 부여했습니다.
A rare condition that is triggered when Auditing is enabled for the View Engine and Node to Node encryption is enabled. If Couchbase Server is unable to check the remote hostname and port of an incoming internal command (view-merge request) over TLS, an error is logged which contains unredacted Base64 encoded authentication information for an internal user with administrator privileges, @ns_server.
A temporary workaround is to disable View Engine auditing or Node to Node Encryption until an upgrade can be performed.
Couchbase Server was logging the temporary session cookie for a user when audited events containing a session ID were logged to the audit log and debug.log. An attacker with access to logging data could use this to impersonate an authenticated user.
A security issue in the buger/jsonparser (JSON parser for Go) library allows an attacker to cause a denial of service (DOS) in the Couchbase Server Search Service.
The Apache HttpClient, as used by the Couchbase Server Analytics Service, in versions prior to version 4.5.13 and 5.0.3 can misinterpret malformed authority component in request URIs passed to the library as java.net.URI object and pick the wrong target host for request execution.
The Python urllib3 library which is used by the requests Python library that in turn is used by the Couchbase CLI has a security issue in urllib3 versions before 1.24.2. The library mishandles certain cases where the desired set of CA certificates is different from the OS store of CA certificates, which results in SSL connections succeeding in situations where a verification failure is the correct outcome.
When the Couchbase Server REST endpoint receives an unknown request, the request is logged as an error in the debug.log and info.log. The log includes unredacted Base64-encoded authentication information. The error message also is shown in the logs tab of the UI.
Take care to manually redact any logs exported from the cluster on versions affected by this issue. Upgrading the cluster will automatically prevent the @ns_server password appearing in future log entries.
Internal rest calls (/listCreateTokens, /listRebalanceTokens, /listMetadataTokens) are getting logged into the indexer.log with unredacted Base64 encoded authentication information for internal users with administrator privileges, @cbq-engine-cbauth and @index-cbauth.
Communication between Erlang nodes is done by exchanging a shared secret (aka “magic cookie”). There are cases where the magic cookie is included in the content of the logs. An attacker can use the cookie to attach to an Erlang node and run OS-level commands on the system running the Erlang node.
인식: Ofir Hamam, security researcher at EY Israel’s Advanced Security Center
The Slowloris is a type of denial-of-service attack that allows an attacker to take down a target web endpoint by sending requests that periodically send additional headers and never terminate. Reducing the timeout on receipt of HTTP headers is an effective mitigation of this attack and this is the approach taken in the cluster management and views REST endpoints.
전체 텍스트 검색 사용자 인터페이스는 일부 심각도가 높은 보안 취약점이 존재하는 것으로 알려진 AngularJS 1.4.7을 사용합니다. 이러한 AngularJS 라이브러리는 이러한 취약점을 해결한 최신 버전의 Angular로 업데이트되었습니다.
Java 6(이전 SDK 기준 버전인 JDK 1.6)은 호스트 이름 확인을 기본적으로 지원하지 않았습니다. SDK가 Java 7(Java 1.7)로 기본 버전으로 전환되면서 지원을 추가할 수 있었습니다. 이는 jvm-core 1.7.11(java-client 2.7.11로 변환됨)에서 발생했습니다. 이전 버전에서는 그에 따라 사용자 지정하는 기능이 노출되지 않기 때문에 해결 방법으로 수동으로 추가할 수 없습니다. 이전 동작에 의존하는 애플리케이션을 중단시키지 않기 위해 호스트 이름 확인은 여전히 기본적으로 비활성화되어 있지만 SDK 구성(CouchbaseEnvironment 클래스)에서 활성화할 수 있습니다.
프로젝터 프로세스에 의해 노출된 /settings REST 엔드포인트는 관리자가 구성 업데이트 및 성능 프로필 수집과 같은 다양한 작업에 사용할 수 있는 엔드포인트입니다. 이 엔드포인트는 인증되지 않았으며 인증된 사용자만 이러한 관리 API에 액세스할 수 있도록 업데이트되었습니다.
인식: Apple 보안 팀
The Server REST API responds with a {{WWW-Authenticate}} header to unauthenticated requests which allows the user to authenticate via a user / password dialog in a web browser. The problem is that these credentials are cached by the browser which allows a hacker to use CSRF to attack a cluster in the event that an administrator has used their browser to check the results of a REST API request.
This behavior can be disabled by using couchbase-cli (couchbase-cli setting-security –set –disable-www-authenticate 1 -c localhost:8091 -u -p ). This is not disabled by default as it might break existing tools or scripts.
인식: Apple 보안 팀
Some enterprises require that REST API endpoints include security-related headers in REST responses. Headers such as X-Frame-Options and X-Content-Type-Options are generally advisable, however, some information security professionals additionally look for X-Permitted-Cross-Domain-Policies and X-XSS-Protection, which are more generally applicable to HTML endpoints, to be included too. These headers are now included in responses from the Couchbase Server Views REST API (port 8092).
동기화 게이트웨이의 공용 REST API에 액세스할 수 있는 공격자는 “_all_docs” 엔드포인트의 “startkey” 및 “endkey” 매개 변수를 통해 추가 N1QL 문을 발행하고 민감한 데이터를 추출하거나 임의의 N1QL 함수를 호출할 수 있었습니다. CPU 집약적인 작업으로 중첩 쿼리를 실행함으로써 리소스 사용량 증가 및 서비스 거부 상태를 유발할 수 있었습니다. 이 문제를 완화하기 위해 이 REST 엔드포인트에 대한 외부 액세스가 차단되었으며, _all_docs 엔드포인트는 Couchbase Mobile 복제에 필요하지 않습니다.
인식: 데니스 베르너/하이솔루션즈 AG
버그 보고서의 일부로 Couchbase에 제출된 시스템 정보에는 개인정보 보호를 위해 로그가 삭제되었더라도 현재 시스템에 로그인한 모든 사용자의 사용자 이름이 포함되어 있습니다.
사용자 이름이 로그에 올바르게 태그되고 로그가 삭제될 때 해시 처리되도록 수정되었습니다.
이벤트 서비스는 내부 트래픽 전용으로 할당된 포트에서 자격 증명이 필요하지 않은 HTTP 엔드포인트를 통해 시스템 진단 프로필을 노출합니다. 이 문제가 해결되어 이제 액세스하려면 유효한 자격 증명이 필요합니다.
카우치베이스 서버는 기본적으로 TCP/8091 및/또는 TCP/18091에서 사용할 수 있는 ‘/diag/eval’ 엔드포인트를 노출했습니다. 인증됨 ‘전체 관리자‘ 역할이 할당되면 API의 ‘diag/eval’ 엔드포인트로 임의의 Erlang 코드를 보낼 수 있으며, 이후 해당 코드는 Couchbase를 시작하는 데 사용된 사용자 권한으로 기본 운영 체제에서 실행됩니다.
인식: Apple 보안 팀
노드 내 통신에 사용되는 쿠키가 안전하게 생성되지 않았습니다. 카우치베이스 서버는 erlang:now()를 사용하여 PRNG를 시딩하기 때문에 잠재적인 임의 시드를 위한 작은 검색 공간이 생겨 쿠키를 무차별 대입하고 원격 시스템에 대해 코드를 실행하는 데 사용될 수 있습니다.
인식: Apple 보안 팀
보조 인덱싱은 collatejson을 사용하여 인덱싱할 항목을 인코딩합니다. 인덱스 항목에 \t, , 와 같은 특정 문자가 포함된 경우 인코딩된 문자열이 예상보다 훨씬 커져 버퍼 오버런이 발생하여 인덱서 서비스가 충돌하고 다시 시작되는 원인이 되었습니다. 이 문제는 이제 모든 입력에 대해 버퍼가 항상 필요에 따라 커지도록 수정되었습니다.
인식: D-Trust GmbH
잘못된 원격 클러스터 인증서가 참조 생성의 일부로 입력된 경우, XDCR은 인증서 서명을 파싱하고 확인하지 않았습니다. 그런 다음 잘못된 인증서를 수락하고 향후 원격 클러스터에 대한 연결을 설정하는 데 사용하려고 시도했습니다. 이 문제는 수정되었습니다. 이제 XDCR은 인증서의 유효성을 철저히 확인하여 유효하지 않은 인증서로 원격 클러스터 참조가 생성되는 것을 방지합니다.
5.0 이전 버전의 Couchbase Server에서 “default”라는 버킷은 인증 없이 읽기 및 쓰기 액세스를 허용하는 특수 버킷이었습니다. 5.0 버전에서는 “기본'을 포함한 모든 버킷의 동작이 충분한 권한을 가진 인증된 사용자만 액세스를 허용하도록 변경되었습니다. 그러나 이 버킷의 속성이 수정된 경우 ”기본“ 버킷에 대한 인증되지 않은 무단 액세스가 허용되었습니다. 이 문제는 수정되었습니다.