Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
grafana-almalinux-vs-rockylinux-patch-compare
생성일
3년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
16 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
63 행
복사
11 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
61 행
복사
복사
복사됨
복사
복사됨
From 150a1d2777ea86253e6f800a2ee6273b92295ed9 Mon Sep 17 00:00:00 2001
commit bae86dbeb0
From: eabdullin <ed.abdullin.1@gmail
.com>
Author: Ieva <ieva.vasiljeva@grafana
.com>
Date:
Wed, 12
Ju
l
2023
15:31:00 +0300
Date:
Tue
Ju
n 6 17:45:31
2023
+0100
Subject: [PATCH] CVE-2023-3128
복사
복사됨
복사
복사됨
---
Auth: Remove Email Lookup from oauth integrations 9.2 (#898)
pkg/api/login_oauth.go | 17 +++++++++--------
pkg/setting/setting.go | 5 ++++-
backport https://github.com/grafana/grafana-private-mirror/pull/894 to 9.3.x
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go
diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go
복사
복사됨
복사
복사됨
index
b422baf..f124252
100644
index
22014aee43..af00c56a68
100644
--- a/pkg/api/login_oauth.go
--- a/pkg/api/login_oauth.go
+++ b/pkg/api/login_oauth.go
+++ b/pkg/api/login_oauth.go
복사
복사됨
복사
복사됨
@@ -299,16 +299,17 @@
func (hs *HTTPServer) SyncUser(
@@ -299,16 +299,17 @@
connect social.SocialConnector,
connect social.SocialConnector,
) (*models.User, error) {
) (*models.User, error) {
oauthLogger.Debug("Syncing Grafana user with corresponding OAuth profile")
oauthLogger.Debug("Syncing Grafana user with corresponding OAuth profile")
+ lookupParams := models.UserLookupParams{}
+ lookupParams := models.UserLookupParams{}
+ if hs.Cfg.OAuthAllowInsecureEmailLookup {
+ if hs.Cfg.OAuthAllowInsecureEmailLookup {
+ lookupParams.Email = &extUser.Email
+ lookupParams.Email = &extUser.Email
+ }
+ }
+
+
// add/update user in Grafana
// add/update user in Grafana
cmd := &models.UpsertUserCommand{
cmd := &models.UpsertUserCommand{
- ReqContext: ctx,
- ReqContext: ctx,
- ExternalUser: extUser,
- ExternalUser: extUser,
- SignupAllowed: connect.IsSignupAllowed(),
- SignupAllowed: connect.IsSignupAllowed(),
- UserLookupParams: models.UserLookupParams{
- UserLookupParams: models.UserLookupParams{
- Email: &extUser.Email,
- Email: &extUser.Email,
- UserID: nil,
- UserID: nil,
- Login: nil,
- Login: nil,
- },
- },
+ ReqContext: ctx,
+ ReqContext: ctx,
+ ExternalUser: extUser,
+ ExternalUser: extUser,
+ SignupAllowed: connect.IsSignupAllowed(),
+ SignupAllowed: connect.IsSignupAllowed(),
+ UserLookupParams: lookupParams,
+ UserLookupParams: lookupParams,
}
}
if err := hs.Login.UpsertUser(ctx.Req.Context(), cmd); err != nil {
if err := hs.Login.UpsertUser(ctx.Req.Context(), cmd); err != nil {
diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go
diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go
복사
복사됨
복사
복사됨
index
ba2c4bb..6b5c948
100644
index
20e8f78a2f..03aa5c17d8
100644
--- a/pkg/setting/setting.go
--- a/pkg/setting/setting.go
+++ b/pkg/setting/setting.go
+++ b/pkg/setting/setting.go
복사
복사됨
복사
복사됨
@@ -312,7 +312,8 @@
type Cfg struct {
@@ -312,7 +312,8 @@
AuthProxySyncTTL int
AuthProxySyncTTL int
// OAuth
// OAuth
- OAuthCookieMaxAge int
- OAuthCookieMaxAge int
+ OAuthCookieMaxAge int
+ OAuthCookieMaxAge int
+ OAuthAllowInsecureEmailLookup bool
+ OAuthAllowInsecureEmailLookup bool
// JWT Auth
// JWT Auth
JWTAuthEnabled bool
JWTAuthEnabled bool
복사
복사됨
복사
복사됨
@@ -125
5
,6 +1256,8 @@
func readAuthSettings(iniFile *ini.File, cfg *Cfg) (err error) {
@@ -125
6
,6 +1256,8 @@
return err
return err
}
}
+ cfg.OAuthAllowInsecureEmailLookup = auth.Key("oauth_allow_insecure_email_lookup").MustBool(false)
+ cfg.OAuthAllowInsecureEmailLookup = auth.Key("oauth_allow_insecure_email_lookup").MustBool(false)
+
+
const defaultMaxLifetime = "30d"
const defaultMaxLifetime = "30d"
maxLifetimeDurationVal := valueAsString(auth, "login_maximum_lifetime_duration", defaultMaxLifetime)
maxLifetimeDurationVal := valueAsString(auth, "login_maximum_lifetime_duration", defaultMaxLifetime)
cfg.LoginMaxLifetime, err = gtime.ParseDuration(maxLifetimeDurationVal)
cfg.LoginMaxLifetime, err = gtime.ParseDuration(maxLifetimeDurationVal)
저장된 비교 결과
원본
파일 열기
From 150a1d2777ea86253e6f800a2ee6273b92295ed9 Mon Sep 17 00:00:00 2001 From: eabdullin <ed.abdullin.1@gmail.com> Date: Wed, 12 Jul 2023 15:31:00 +0300 Subject: [PATCH] CVE-2023-3128 --- pkg/api/login_oauth.go | 17 +++++++++-------- pkg/setting/setting.go | 5 ++++- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go index b422baf..f124252 100644 --- a/pkg/api/login_oauth.go +++ b/pkg/api/login_oauth.go @@ -299,16 +299,17 @@ func (hs *HTTPServer) SyncUser( connect social.SocialConnector, ) (*models.User, error) { oauthLogger.Debug("Syncing Grafana user with corresponding OAuth profile") + lookupParams := models.UserLookupParams{} + if hs.Cfg.OAuthAllowInsecureEmailLookup { + lookupParams.Email = &extUser.Email + } + // add/update user in Grafana cmd := &models.UpsertUserCommand{ - ReqContext: ctx, - ExternalUser: extUser, - SignupAllowed: connect.IsSignupAllowed(), - UserLookupParams: models.UserLookupParams{ - Email: &extUser.Email, - UserID: nil, - Login: nil, - }, + ReqContext: ctx, + ExternalUser: extUser, + SignupAllowed: connect.IsSignupAllowed(), + UserLookupParams: lookupParams, } if err := hs.Login.UpsertUser(ctx.Req.Context(), cmd); err != nil { diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index ba2c4bb..6b5c948 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -312,7 +312,8 @@ type Cfg struct { AuthProxySyncTTL int // OAuth - OAuthCookieMaxAge int + OAuthCookieMaxAge int + OAuthAllowInsecureEmailLookup bool // JWT Auth JWTAuthEnabled bool @@ -1255,6 +1256,8 @@ func readAuthSettings(iniFile *ini.File, cfg *Cfg) (err error) { return err } + cfg.OAuthAllowInsecureEmailLookup = auth.Key("oauth_allow_insecure_email_lookup").MustBool(false) + const defaultMaxLifetime = "30d" maxLifetimeDurationVal := valueAsString(auth, "login_maximum_lifetime_duration", defaultMaxLifetime) cfg.LoginMaxLifetime, err = gtime.ParseDuration(maxLifetimeDurationVal)
수정본
파일 열기
commit bae86dbeb0 Author: Ieva <ieva.vasiljeva@grafana.com> Date: Tue Jun 6 17:45:31 2023 +0100 Auth: Remove Email Lookup from oauth integrations 9.2 (#898) backport https://github.com/grafana/grafana-private-mirror/pull/894 to 9.3.x diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go index 22014aee43..af00c56a68 100644 --- a/pkg/api/login_oauth.go +++ b/pkg/api/login_oauth.go @@ -299,16 +299,17 @@ connect social.SocialConnector, ) (*models.User, error) { oauthLogger.Debug("Syncing Grafana user with corresponding OAuth profile") + lookupParams := models.UserLookupParams{} + if hs.Cfg.OAuthAllowInsecureEmailLookup { + lookupParams.Email = &extUser.Email + } + // add/update user in Grafana cmd := &models.UpsertUserCommand{ - ReqContext: ctx, - ExternalUser: extUser, - SignupAllowed: connect.IsSignupAllowed(), - UserLookupParams: models.UserLookupParams{ - Email: &extUser.Email, - UserID: nil, - Login: nil, - }, + ReqContext: ctx, + ExternalUser: extUser, + SignupAllowed: connect.IsSignupAllowed(), + UserLookupParams: lookupParams, } if err := hs.Login.UpsertUser(ctx.Req.Context(), cmd); err != nil { diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index 20e8f78a2f..03aa5c17d8 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -312,7 +312,8 @@ AuthProxySyncTTL int // OAuth - OAuthCookieMaxAge int + OAuthCookieMaxAge int + OAuthAllowInsecureEmailLookup bool // JWT Auth JWTAuthEnabled bool @@ -1256,6 +1256,8 @@ return err } + cfg.OAuthAllowInsecureEmailLookup = auth.Key("oauth_allow_insecure_email_lookup").MustBool(false) + const defaultMaxLifetime = "30d" maxLifetimeDurationVal := valueAsString(auth, "login_maximum_lifetime_duration", defaultMaxLifetime) cfg.LoginMaxLifetime, err = gtime.ParseDuration(maxLifetimeDurationVal)
비교하기