CVE-2026-55098 in Arc
요약
\~에 의해 VulDB • 2026. 10. 31.
Arc는 텔레메트리를 위한 오픈 소스 SQL 네이티브 시계열 데이터베이스입니다. 저장소 검증된 26.06.2 수정 이전에는 `CVE-2026-47735`의 해결 조치가 DuckDB 테이블 값 I/O 함수를 통해 크로스 데이터베이스 권한 우회 취약점을 남겼습니다. `internal/database/sandbox.go`에서 `allowed_directories`는 `storage.local_path`로 구성된 `cfg.LocalStorageRoot`를 사용하며, `enable_external_access=false` 설정은 전체 멀티 테넌트 루트 외부의 접근을 차단합니다. `internal/storage/util.go`의 `GetStoragePath` 함수는 모든 데이터베이스를 해당 경로 아래에 저장합니다. `internal/api/query.go`에서 `extractTableReferences`는 여는 괄호 뒤에 오는 이름을 건너뛰며, `checkQueryPermissions`는 테이블 참조가 추출되지 않은 쿼리(예: `permissions: []` 토큰 포함)를 허용합니다. `userSQLReadParquetPattern` 차단 목록은 리터럴 `read_parquet(`와 이전 보호 조치가 `arc_partition_agg(`도 차단하지만, `parquet_scan` 별칭과 `glob`, `parquet_metadata`, `parquet_schema`, `read_blob`, `read_csv_auto`, `read_json`, `read_text`는 놓치는 것으로 나타났습니다. 이러한 차단되지 않은 함수를 사용하여 `POST /api/v1/query`로 요청할 경우, 테넌트 인증 없이 `ValidateSQLRequest` 및 `convertSQLToStoragePaths`를 통과하여 허용된 루트 내에서 다른 데이터베이스의 시계열 데이터, 스키마 및 열별 값 범위 통계를 읽고 나열할 수 있습니다. 샌드박스는 여전히 루트 외부 OS 파일과 HTTP SSRF는 차단하며, 루트 밖의 형제 SQLite 토큰 데이터베이스는 이 메커니즘으로 노출되지 않습니다. 이전 26.06.1 수정은 이러한 I/O 함수를 포괄적으로 차단하지 못했습니다. 저장소 태그 26.06.2에는 I/O 함수 관련 수정 사항이 포함되어 있으며 임시 해결 조치의 범위를 제공합니다. 충돌하는 권고사항 버전 표기는 큐레이터의 판단을 필요로 합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.