Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2023-4796: Changeset 2966325 for woocommerce-jetpack – WordPress Plugin Repository

The Booster for WooCommerce for WordPress is vulnerable to Information Disclosure via the ‘wcj_wp_option’ shortcode in versions up to, and including, 7.1.0 due to insufficient controls on the information retrievable via the shortcode. This makes it possible for authenticated attackers, with subscriber-level capabilities or above, to retrieve arbitrary sensitive site options.

CVE
#xss#vulnerability#js#wordpress#php#pdf#auth
  • woocommerce-jetpack/trunk/includes/functions/wcj-functions-general.php

    r2943364

    r2966325

3

3

 \* Booster for WooCommerce - Functions - General

4

4

 \*

5

 

 \* @version 7.0.0

 

5

 \* @version 7.1.1

6

6

 \* @author  Pluggabl LLC.

7

7

 \* @todo    add \`wcj\_add\_actions()\` and \`wcj\_add\_filters()\`

…

…

 

188

188

     \* Wcj\_tcpdf\_barcode.

189

189

     \*

190

 

     \* @version 3.4.0

 

190

     \* @version 7.1.1

191

191

     \* @since   3.3.0

192

192

     \* @todo    \`color\`

…

…

 

195

195

     \*/

196

196

    function wcj\_tcpdf\_barcode( $atts ) {

 

197

        $type      = wcj\_sanitize\_input\_attribute\_values( $atts\['type'\] );

 

198

        $width     = wcj\_sanitize\_input\_attribute\_values( $atts\['width'\] );

 

199

        $height    = wcj\_sanitize\_input\_attribute\_values( $atts\['height'\] );

 

200

        $dimension = wcj\_sanitize\_input\_attribute\_values( $atts\['dimension'\] );

 

201

197

202

        if ( '' === $atts\['code'\] ) {

198

203

            return '';

199

204

        }

200

 

        if ( '' === $atts\['type'\] ) {

201

 

            $atts\['type'\] = ( '1D' === $atts\['dimension'\] ? 'C39' : 'PDF417' );

202

 

        }

203

 

        if ( 0 === $atts\['width'\] ) {

204

 

            $atts\['width'\] = ( '1D' === $atts\['dimension'\] ? 80 : 80 );

205

 

        }

206

 

        if ( 0 === $atts\['height'\] ) {

207

 

            $atts\['height'\] = ( '1D' === $atts\['dimension'\] ? 30 : 80 );

208

 

        }

209

 

        if ( '1D' === $atts\['dimension'\] ) {

 

205

        if ( '' === $type ) {

 

206

            $type = ( '1D' === $dimension ? 'C39' : 'PDF417' );

 

207

        }

 

208

        if ( 0 === $width ) {

 

209

            $width = ( '1D' === $dimension ? 80 : 80 );

 

210

        }

 

211

        if ( 0 === $height ) {

 

212

            $height = ( '1D' === $dimension ? 30 : 80 );

 

213

        }

 

214

        if ( '1D' === $dimension ) {

210

215

            $params = array(

211

216

                $atts\['code'\],

212

 

                $atts\['type'\],

 

217

                $type,

213

218

                '',  // x.

214

219

                '',  // y.

215

 

                $atts\['width'\],

216

 

                $atts\['height'\],

 

220

                $width,

 

221

                $height,

217

222

                0.4, // xres.

218

223

                array( // style.

…

…

 

255

260

     \* Wcj\_barcode.

256

261

     \*

257

 

     \* @version 5.6.1

 

262

     \* @version 7.1.1

258

263

     \* @since   3.3.0

259

264

     \* @todo    (maybe) "Barcodes" module

…

…

 

262

267

     \*/

263

268

    function wcj\_barcode( $atts ) {

 

269

        $type      = wcj\_sanitize\_input\_attribute\_values( $atts\['type'\] );

 

270

        $width     = wcj\_sanitize\_input\_attribute\_values( $atts\['width'\] );

 

271

        $height    = wcj\_sanitize\_input\_attribute\_values( $atts\['height'\] );

 

272

        $dimension = wcj\_sanitize\_input\_attribute\_values( $atts\['dimension'\] );

264

273

        if ( '' === $atts\['code'\] ) {

265

274

            return '';

266

275

        }

267

 

        if ( '' === $atts\['type'\] ) {

268

 

            $atts\['type'\] = ( '1D' === $atts\['dimension'\] ? 'C39' : 'PDF417' );

269

 

        }

270

 

        if ( 0 === $atts\['width'\] ) {

271

 

            $atts\['width'\] = ( '1D' === $atts\['dimension'\] ? 2 : 10 );

272

 

        }

273

 

        if ( 0 === $atts\['height'\] ) {

274

 

            $atts\['height'\] = ( '1D' === $atts\['dimension'\] ? 30 : 10 );

275

 

        }

276

 

        if ( '1D' === $atts\['dimension'\] ) {

 

276

        if ( '' === $type ) {

 

277

            $type = ( '1D' === $dimension ? 'C39' : 'PDF417' );

 

278

        }

 

279

        if ( 0 === $width ) {

 

280

            $width = ( '1D' === $dimension ? 2 : 10 );

 

281

        }

 

282

        if ( 0 === $height ) {

 

283

            $height = ( '1D' === $dimension ? 30 : 10 );

 

284

        }

 

285

        if ( '1D' === $dimension ) {

277

286

            require\_once WCJ\_FREE\_PLUGIN\_PATH . '/includes/lib/tcpdf/tcpdf\_barcodes\_1d.php';

278

 

            $barcode = new TCPDFBarcode( $atts\['code'\], $atts\['type'\] );

 

287

            $barcode = new TCPDFBarcode( $atts\['code'\], $type );

279

288

        } else {

280

289

            require\_once WCJ\_FREE\_PLUGIN\_PATH . '/includes/lib/tcpdf/tcpdf\_barcodes\_2d.php';

281

 

            $barcode = new TCPDF2DBarcode( $atts\['code'\], $atts\['type'\] );

 

290

            $barcode = new TCPDF2DBarcode( $atts\['code'\], $type );

282

291

        }

283

292

        $barcode\_array = $barcode->getBarcodeArray();

284

 

        return ( ! empty( $barcode\_array ) && is\_array( $barcode\_array ) ? $barcode->getBarcodeHTML( $atts\['width'\], $atts\['height'\], $atts\['color'\] ) : '' );

 

293

        return ( ! empty( $barcode\_array ) && is\_array( $barcode\_array ) ? $barcode->getBarcodeHTML( $width, $height, $atts\['color'\] ) : '' );

285

294

    }

286

295

}

…

…

 

1181

1190

    }

1182

1191

}

 

1192

 

1193

 

1194

 

1195

 

1196

if ( ! function\_exists( 'wcj\_sanitize\_input\_attribute\_values' ) ) {

 

1197

    /\*\*

 

1198

     \* Wcj\_sanitize\_input\_attribute\_values.

 

1199

     \*

 

1200

     \* @param string $field get the field.

 

1201

     \* @param string $attr get the attr.

 

1202

     \* @version 7.1.1

 

1203

     \* @since   7.1.1

 

1204

     \*/

 

1205

    function wcj\_sanitize\_input\_attribute\_values( $field, $attr = '' ) {

 

1206

 

1207

        switch ( $attr ) {

 

1208

            case 'style':

 

1209

                $sanitize\_field = ( ! empty( $field ) ? preg\_replace( '/\[^-A-Za-z0-9\_#:; \]/', '', wp\_strip\_all\_tags( $field ) ) : '' ); // All style related characters are allowed!

 

1210

                break;

 

1211

 

1212

            default:

 

1213

                $sanitize\_field = ( ! empty( $field ) ? preg\_replace( '/\[^-A-Za-z0-9\_ \]/', '', wp\_strip\_all\_tags( $field ) ) : '' ); // Only text, num, space, \_ and - allowed.

 

1214

                break;

 

1215

 

1216

        }

 

1217

        return $sanitize\_field;

 

1218

 

1219

    }

 

1220

}
  • woocommerce-jetpack/trunk/includes/shortcodes/class-wcj-general-shortcodes.php

    r2837129

    r2966325

3

3

 \* Booster for WooCommerce - Shortcodes - General

4

4

 \*

5

 

 \* @version 6.0.1

 

5

 \* @version 7.1.1

6

6

 \* @author  Pluggabl LLC.

7

7

 \* @package Booster\_For\_WooCommerce/shortcodes

…

…

 

313

313

         \* Wcj\_tcpdf\_rectangle.

314

314

         \*

315

 

         \* @version 3.4.0

 

315

         \* @version 7.1.1

316

316

         \* @since   3.3.0

317

317

         \* @see     https://tcpdf.org/examples/example\_012/

…

…

 

336

336

            $fill\_color   = array();

337

337

 

338

            $width  = wcj\_sanitize\_input\_attribute\_values( $atts\['width'\] );

 

339

            $height = wcj\_sanitize\_input\_attribute\_values( $atts\['height'\] );

338

340

            $params = array(

339

341

                $atts\['x'\],

340

342

                $atts\['y'\],

341

 

                $atts\['width'\],

342

 

                $atts\['height'\],

 

343

                $width,

 

344

                $height,

343

345

                $style,

344

346

                $border\_style,

…

…

 

400

402

         \* Wcj\_button\_toggle\_tax\_display.

401

403

         \*

402

 

         \* @version 5.6.7

 

404

         \* @version 7.1.1

403

405

         \* @since   3.2.4

404

406

         \* @todo    (dev) different style/class for different tax state

…

…

 

410

412

            $current\_value = ( ( '' === $session\_value || null === $session\_value ) ? wcj\_get\_option( 'woocommerce\_tax\_display\_shop', 'excl' ) : $session\_value );

411

413

            $current\_value = '' === $current\_value ? 'excl' : $current\_value;

412

 

            $label         = $atts\[ 'label\_' . $current\_value \];

 

414

            $label         = wcj\_sanitize\_input\_attribute\_values( $atts\[ 'label\_' . $current\_value \] );

 

415

            $class         = wcj\_sanitize\_input\_attribute\_values( $atts\['class'\] );

 

416

            $style         = wcj\_sanitize\_input\_attribute\_values( $atts\['style'\], 'style' );

413

417

            return '<form method="post" action="">' . wp\_nonce\_field( 'wcj\_button\_toggle\_tax\_display', 'wcj-button-toggle-tax-display-nonce' ) . '<input type="submit" name="wcj\_button\_toggle\_tax\_display"' .

414

 

            ' class="' . $atts\['class'\] . '" style="' . $atts\['style'\] . '" value="' . $label . '"></form>';

 

418

            ' class="' . $class . '" style="' . $style . '" value="' . $label . '"></form>';

415

419

        }

416

420

…

…

 

444

448

         \* Wcj\_wp\_option.

445

449

         \*

446

 

         \* @version 3.2.1

 

450

         \* @version 7.1.1

447

451

         \* @since   3.2.1

448

452

         \* @param array $atts The user defined shortcode attributes.

449

453

         \*/

450

454

        public function wcj\_wp\_option( $atts ) {

451

 

            return ( '' !== $atts\['option'\] ? wcj\_get\_option( $atts\['option'\], $atts\['default'\] ) : '' );

 

455

            if ( isset( $atts\['option'\] ) && str\_contains( $atts\['option'\], 'wcj' ) ) {

 

456

                return ( '' !== $atts\['option'\] ? wcj\_get\_option( $atts\['option'\], $atts\['default'\] ) : '' );

 

457

            } else {

 

458

                return '';

 

459

            }

452

460

        }

453

461

…

…

 

477

485

         \* Wcj\_selector.

478

486

         \*

479

 

         \* @version 6.0.0

 

487

         \* @version 7.1.1

480

488

         \* @since   3.1.0

481

489

         \* @todo    add \`default\` attribute

…

…

 

488

496

            $options        = '';

489

497

            $countries      = apply\_filters( 'booster\_option', 'all', wcj\_get\_option( 'wcj\_product\_by\_country\_country\_list\_shortcode', 'all' ) );

490

 

            $wpnonce        = isset( $\_REQUEST\[ 'wcj\_' . $atts\['selector\_type'\] . '\_selector-nonce' \] ) ? wp\_verify\_nonce( sanitize\_key( $\_REQUEST\[ 'wcj\_' . $atts\['selector\_type'\] . '\_selector-nonce' \] ), 'wcj\_' . $atts\['selector\_type'\] . '\_selector' ) : false;

491

 

            $selected\_value = ( ( $wpnonce && isset( $\_REQUEST\[ 'wcj\_' . $atts\['selector\_type'\] . '\_selector' \] ) ) ?

492

 

            sanitize\_text\_field( wp\_unslash( $\_REQUEST\[ 'wcj\_' . $atts\['selector\_type'\] . '\_selector' \] ) ) :

493

 

            wcj\_session\_get( 'wcj\_selected\_' . $atts\['selector\_type'\] )

 

498

            $selector\_type  = wcj\_sanitize\_input\_attribute\_values( $atts\['selector\_type'\] );

 

499

            $wpnonce        = isset( $\_REQUEST\[ 'wcj\_' . $selector\_type . '\_selector-nonce' \] ) ? wp\_verify\_nonce( sanitize\_key( $\_REQUEST\[ 'wcj\_' . $selector\_type . '\_selector-nonce' \] ), 'wcj\_' . $selector\_type . '\_selector' ) : false;

 

500

            $selected\_value = ( ( $wpnonce && isset( $\_REQUEST\[ 'wcj\_' . $selector\_type . '\_selector' \] ) ) ?

 

501

            sanitize\_text\_field( wp\_unslash( $\_REQUEST\[ 'wcj\_' . $selector\_type . '\_selector' \] ) ) :

 

502

            wcj\_session\_get( 'wcj\_selected\_' . $selector\_type )

494

503

            );

495

504

…

…

 

503

512

            }

504

513

505

 

            switch ( $atts\['selector\_type'\] ) {

 

514

            switch ( $selector\_type ) {

506

515

                case 'product\_custom\_visibility':

507

516

                    $options = wcj\_get\_select\_options( wcj\_get\_option( 'wcj\_product\_custom\_visibility\_options\_list', '' ) );

…

…

 

516

525

            }

517

526

            return '<form method="post" action="">' .

518

 

            '<select name="wcj\_' . $atts\['selector\_type'\] . '\_selector" class="wcj\_' . $atts\['selector\_type'\] . '\_selector" onchange="this.form.submit()">' .

 

527

            '<select name="wcj\_' . $selector\_type . '\_selector" class="wcj\_' . $selector\_type . '\_selector" onchange="this.form.submit()">' .

519

528

                $html .

520

529

            '</select>' .

521

 

            wp\_nonce\_field( 'wcj\_' . $atts\['selector\_type'\] . '\_selector', 'wcj\_' . $atts\['selector\_type'\] . '\_selector-nonce' ) .

 

530

            wp\_nonce\_field( 'wcj\_' . $selector\_type . '\_selector', 'wcj\_' . $selector\_type . '\_selector-nonce' ) .

522

531

            '</form>';

523

532

        }

…

…

 

919

928

         \* Get\_currency\_selector.

920

929

         \*

921

 

         \* @version 5.6.8

 

930

         \* @version 7.1.1

922

931

         \* @since   2.4.5

923

932

         \* @param array          $atts The user defined shortcode attributes.

…

…

 

927

936

        private function get\_currency\_selector( $atts, $content, $type = 'select' ) {

928

937

            // Start.

929

 

            $form\_method = $atts\['form\_method'\];

930

 

            $class       = $atts\['class'\];

931

 

            $style       = $atts\['style'\];

 

938

            $form\_method = wcj\_sanitize\_input\_attribute\_values( $atts\['form\_method'\] );

 

939

            $class       = wcj\_sanitize\_input\_attribute\_values( $atts\['class'\] );

 

940

            $style       = wcj\_sanitize\_input\_attribute\_values( $atts\['style'\], 'style' );

932

941

            $html        = '';

933

942

            $html       .= '<form action="" method="' . $form\_method . '">';

…

…

 

1010

1019

         \* Wcj\_country\_select\_drop\_down\_list.

1011

1020

         \*

1012

 

         \* @version 5.6.8

 

1021

         \* @version 7.1.1

1013

1022

         \* @param array          $atts The user defined shortcode attributes.

1014

1023

         \* @param array | string $content The user defined shortcode content.

1015

1024

         \*/

1016

1025

        public function wcj\_country\_select\_drop\_down\_list( $atts, $content ) {

1017

 

            $form\_method  = $atts\['form\_method'\];

1018

 

            $select\_class = $atts\['class'\];

1019

 

            $select\_style = $atts\['style'\];

 

1026

            $form\_method  = wcj\_sanitize\_input\_attribute\_values( $atts\['form\_method'\] );

 

1027

            $select\_class = wcj\_sanitize\_input\_attribute\_values( $atts\['class'\] );

 

1028

            $select\_style = wcj\_sanitize\_input\_attribute\_values( $atts\['style'\], 'style' );

 

1029

1020

1030

            if ( ! isset( $atts\['force\_display'\] ) || ! filter\_var( $atts\['force\_display'\], FILTER\_VALIDATE\_BOOLEAN ) ) {

1021

1031

                if ( ! wcj\_is\_module\_enabled( 'price\_by\_country' ) ) {

…

…

 

1101

1111

         \* Wcj\_image.

1102

1112

         \*

1103

 

         \* @version 3.9.0

 

1113

         \* @version 7.1.1

1104

1114

         \* @since   3.9.0

1105

1115

         \* @param array $atts The user defined shortcode attributes.

1106

1116

         \*/

1107

1117

        public function wcj\_image( $atts ) {

 

1118

            $src    = ( ! empty( $atts\['src'\] ) ? $atts\['src'\] : '' );

 

1119

            $class  = wcj\_sanitize\_input\_attribute\_values( $atts\['class'\] );

 

1120

            $style  = wcj\_sanitize\_input\_attribute\_values( $atts\['style'\], 'style' );

 

1121

            $width  = wcj\_sanitize\_input\_attribute\_values( $atts\['width'\] );

 

1122

            $height = wcj\_sanitize\_input\_attribute\_values( $atts\['height'\] );

 

1123

1108

1124

            return '<img' .

1109

 

            ' src="' . ( ! empty( $atts\['src'\] ) ? $atts\['src'\] : '' ) . '"' .

1110

 

            ' class="' . ( ! empty( $atts\['class'\] ) ? $atts\['class'\] : '' ) . '"' .

1111

 

            ' style="' . ( ! empty( $atts\['style'\] ) ? $atts\['style'\] : '' ) . '"' .

1112

 

            ' width="' . ( ! empty( $atts\['width'\] ) ? $atts\['width'\] : '' ) . '"' .

1113

 

            ' height="' . ( ! empty( $atts\['height'\] ) ? $atts\['height'\] : '' ) . '"' .

 

1125

            ' src="' . ( ! empty( $src ) ? $src : '' ) . '"' .

 

1126

            ' class="' . ( ! empty( $class ) ? $class : '' ) . '"' .

 

1127

            ' style="' . ( ! empty( $style ) ? $style : '' ) . '"' .

 

1128

            ' width="' . ( ! empty( $width ) ? $width : '' ) . '"' .

 

1129

            ' height="' . ( ! empty( $height ) ? $height : '' ) . '"' .

1114

1130

            '>';

1115

1131

        }
  • woocommerce-jetpack/trunk/includes/shortcodes/class-wcj-input-field-shortcodes.php

    r2818772

    r2966325

3

3

 \* Booster for WooCommerce - Shortcodes - Input Field

4

4

 \*

5

 

 \* @version 4.7.0

 

5

 \* @version 7.1.1

6

6

 \* @since   2.5.2

7

7

 \* @author  Pluggabl LLC.

…

…

 

53

53

         \* Wcj\_input\_field.

54

54

         \*

55

 

         \* @version 4.7.0

 

55

         \* @version 7.1.1

56

56

         \* @since   2.5.2

57

57

         \* @param array  $atts The user defined shortcode attributes.

…

…

 

59

59

         \*/

60

60

        public function wcj\_input\_field( $atts, $content ) {

61

 

            if ( '' === $atts\['name'\] ) {

 

61

 

62

            $type        = wcj\_sanitize\_input\_attribute\_values( $atts\['type'\] );

 

63

            $class       = wcj\_sanitize\_input\_attribute\_values( $atts\['class'\] );

 

64

            $name        = wcj\_sanitize\_input\_attribute\_values( $atts\['name'\] );

 

65

            $label       = wcj\_sanitize\_input\_attribute\_values( $atts\['label'\] );

 

66

            $value       = wcj\_sanitize\_input\_attribute\_values( $atts\['value'\] );

 

67

            $placeholder = wcj\_sanitize\_input\_attribute\_values( $atts\['placeholder'\] );

 

68

            if ( '' === $name ) {

62

69

                return \_\_( 'Attribute "name" is required!', 'woocommerce-jetpack' );

63

70

            }

…

…

 

71

78

72

79

            // Name.

73

 

            $name\_html = ' name="wcj\_input\_field\_' . $atts\['name'\] . '"';

 

80

            $name\_html = ' name="wcj\_input\_field\_' . $name . '"';

74

81

            if ( isset( $atts\['name\_array'\] ) && ! empty( $atts\['name\_array'\] ) ) {

75

 

                $name\_html = ' name="wcj\_input\_field\_' . $atts\['name\_array'\] . '\[' . $atts\['name'\] . '\]\[value\]"';

 

82

                $name\_html = ' name="wcj\_input\_field\_' . $atts\['name\_array'\] . '\[' . $name . '\]\[value\]"';

76

83

            }

77

84

…

…

 

79

86

            $the\_field .= '<input' .

80

87

            $data\_attributes\_html .

81

 

            ' type="' . $atts\['type'\] . '"' .

82

 

            ' class="' . $atts\['class'\] . '"' .

83

 

            ' value="' . $atts\['value'\] . '"' .

84

 

            ' placeholder="' . $atts\['placeholder'\] . '"' .

 

88

            ' type="' . $type . '"' .

 

89

            ' class="' . $class . '"' .

 

90

            ' value="' . $value . '"' .

 

91

            ' placeholder="' . $placeholder . '"' .

85

92

            $name\_html .

86

 

            ' id="wcj\_input\_field\_' . $atts\['name'\] . '">';

 

93

            ' id="wcj\_input\_field\_' . $name . '">';

87

94

            if ( '' !== $atts\['attach\_to'\] ) {

88

 

                $the\_field .= '<input type="hidden" name="for\_wcj\_input\_field\_' . $atts\['name'\] . '" value="' . $atts\['attach\_to'\] . '">';

 

95

                $the\_field .= '<input type="hidden" name="for\_wcj\_input\_field\_' . $name . '" value="' . $atts\['attach\_to'\] . '">';

89

96

            }

90

97

91

98

            // Label.

92

 

            if ( '' !== $atts\['label'\] ) {

93

 

                $label\_name\_html = ' name="label\_for\_wcj\_input\_field\_' . $atts\['name'\] . '"';

 

99

            if ( '' !== $label ) {

 

100

                $label\_name\_html = ' name="label\_for\_wcj\_input\_field\_' . $name . '"';

94

101

                if ( isset( $atts\['name\_array'\] ) && ! empty( $atts\['name\_array'\] ) ) {

95

 

                    $label\_name\_html = ' name="wcj\_input\_field\_' . $atts\['name\_array'\] . '\[' . $atts\['name'\] . '\]\[label\]"';

 

102

                    $label\_name\_html = ' name="wcj\_input\_field\_' . $atts\['name\_array'\] . '\[' . $name . '\]\[label\]"';

96

103

                }

97

 

                $the\_field .= '<input type="hidden" ' . $label\_name\_html . ' value="' . $atts\['label'\] . '">';

 

104

                $the\_field .= '<input type="hidden" ' . $label\_name\_html . ' value="' . $label . '">';

98

105

            }

99

106

100

107

            if ( 'yes' === $atts\['required'\] ) {

101

 

                $the\_field .= '<input type="hidden" name="wcj\_input\_field\_' . $atts\['name'\] . '\_required" value="yes">';

 

108

                $the\_field .= '<input type="hidden" name="wcj\_input\_field\_' . $name . '\_required" value="yes">';

102

109

            }

103

110

            return $the\_field;

104

111

        }

105

 

106

112

    }

107

113
  • woocommerce-jetpack/trunk/includes/shortcodes/class-wcj-order-items-shortcodes.php

    r2853355

    r2966325

3

3

 \* Booster for WooCommerce - Shortcodes - Order Items

4

4

 \*

5

 

 \* @version

 

5

 \* @version 7.1.1

6

6

 \* @author  Pluggabl LLC.

7

7

 \* @package Booster\_For\_WooCommerce/shortcodes

…

…

 

525

525

         \* Get\_cell.

526

526

         \*

527

 

         \* @version

 

527

         \* @version 7.1.1

528

528

         \* @since   3.2.0

529

529

         \* @todo    do we need \`pa\_\` replacement?

…

…

 

587

587

                        // Variation (if needed).

588

588

                        if ( 'yes' === $atts\['add\_variation\_info\_to\_item\_name'\] && isset( $item\['variation\_id'\] ) && 0 !== $item\['variation\_id'\] && ! in\_array( 'item\_variation', $columns, true ) ) {

589

 

                            $the\_item\_title .= '<div style="' . $atts\['style\_item\_name\_variation'\] . '">';

 

589

                            $style           = wcj\_sanitize\_input\_attribute\_values( $atts\['style\_item\_name\_variation'\], 'style' );

 

590

                            $the\_item\_title .= '<div style="' . $style . '">';

590

591

                            if ( 'yes' === $atts\['variation\_as\_metadata'\] ) {

591

592

                                $the\_item\_title .= wcj\_get\_order\_item\_meta\_info( $item\_id, $item, $this->the\_order, true, $the\_product );

…

…

 

696

697

                        $image\_src = $image\_src\[0\];

697

698

                    }

698

 

                    $maybe\_width  = ( 0 !== $atts\['product\_image\_width'\] ) ? ' width="' . $atts\['product\_image\_width'\] . '"' : '';

699

 

                    $maybe\_height = ( 0 !== $atts\['product\_image\_height'\] ) ? ' height="' . $atts\['product\_image\_height'\] . '"' : '';

 

699

                    $width        = wcj\_sanitize\_input\_attribute\_values( $atts\['product\_image\_width'\] );

 

700

                    $height       = wcj\_sanitize\_input\_attribute\_values( $atts\['product\_image\_height'\] );

 

701

                    $maybe\_width  = ( 0 !== $width ) ? ' width="' . $width . '"' : '';

 

702

                    $maybe\_height = ( 0 !== $height ) ? ' height="' . $height . '"' : '';

700

703

                    return '<img src="' . $image\_src . '"' . $maybe\_width . $maybe\_height . '>';

701

704
  • woocommerce-jetpack/trunk/langs/woocommerce-jetpack.pot

    r2950156

    r2966325

299

299

#: includes/core/class-wcj-admin.php:549 includes/core/class-wcj-admin.php:568

300

300

#: includes/core/class-wcj-admin.php:584

301

 

#: includes/functions/wcj-functions-general.php:443

 

301

#: includes/functions/wcj-functions-general.php:452

302

302

msgid "Product Info"

303

303

msgstr ""

…

…

 

2805

2805

2806

2806

#: includes/class-wcj-empty-cart-button.php:30

2807

 

#: includes/shortcodes/class-wcj-general-shortcodes.php:600

 

2807

#: includes/shortcodes/class-wcj-general-shortcodes.php:609

2808

2808

msgid "Empty Cart Button"

2809

2809

msgstr ""

…

…

 

6282

6282

6283

6283

#: includes/classes/class-wcj-shortcodes.php:156

6284

 

#: includes/shortcodes/class-wcj-general-shortcodes.php:600

 

6284

#: includes/shortcodes/class-wcj-general-shortcodes.php:609

6285

6285

#, php-format

6286

6286

msgid "\\"%s\\" module is not enabled!"

…

…

 

8136

8136

msgstr ""

8137

8137

8138

 

#: includes/functions/wcj-functions-general.php:663

 

8138

#: includes/functions/wcj-functions-general.php:672

8139

8139

#: includes/settings/wcj-settings-cross-sells.php:88

8140

8140

#: includes/settings/wcj-settings-empty-cart.php:65

…

…

 

8142

8142

msgstr ""

8143

8143

8144

 

#: includes/functions/wcj-functions-general.php:664

 

8144

#: includes/functions/wcj-functions-general.php:673

8145

8145

msgid "Before cart table"

8146

8146

msgstr ""

8147

8147

8148

 

#: includes/functions/wcj-functions-general.php:665

 

8148

#: includes/functions/wcj-functions-general.php:674

8149

8149

msgid "Before cart contents"

8150

8150

msgstr ""

8151

8151

8152

 

#: includes/functions/wcj-functions-general.php:666

 

8152

#: includes/functions/wcj-functions-general.php:675

8153

8153

msgid "Cart contents"

8154

8154

msgstr ""

8155

8155

8156

 

#: includes/functions/wcj-functions-general.php:667

 

8156

#: includes/functions/wcj-functions-general.php:676

8157

8157

msgid "Cart coupon"

8158

8158

msgstr ""

8159

8159

8160

 

#: includes/functions/wcj-functions-general.php:668

 

8160

#: includes/functions/wcj-functions-general.php:677

8161

8161

msgid "Cart actions"

8162

8162

msgstr ""

8163

8163

8164

 

#: includes/functions/wcj-functions-general.php:669

 

8164

#: includes/functions/wcj-functions-general.php:678

8165

8165

msgid "After cart contents"

8166

8166

msgstr ""

8167

8167

8168

 

#: includes/functions/wcj-functions-general.php:670

 

8168

#: includes/functions/wcj-functions-general.php:679

8169

8169

msgid "After cart table"

8170

8170

msgstr ""

8171

8171

8172

 

#: includes/functions/wcj-functions-general.php:671

 

8172

#: includes/functions/wcj-functions-general.php:680

8173

8173

#: includes/settings/wcj-settings-cross-sells.php:89

8174

8174

msgid "Cart collaterals"

8175

8175

msgstr ""

8176

8176

8177

 

#: includes/functions/wcj-functions-general.php:672

 

8177

#: includes/functions/wcj-functions-general.php:681

8178

8178

#: includes/settings/wcj-settings-cross-sells.php:90

8179

8179

#: includes/settings/wcj-settings-empty-cart.php:74

…

…

 

8181

8181

msgstr ""

8182

8182

8183

 

#: includes/functions/wcj-functions-general.php:674

 

8183

#: includes/functions/wcj-functions-general.php:683

8184

8184

msgid "Before cart totals"

8185

8185

msgstr ""

8186

8186

8187

 

#: includes/functions/wcj-functions-general.php:675

 

8187

#: includes/functions/wcj-functions-general.php:684

8188

8188

#: includes/settings/wcj-settings-empty-cart.php:67

8189

8189

msgid "Cart totals: Before shipping"

8190

8190

msgstr ""

8191

8191

8192

 

#: includes/functions/wcj-functions-general.php:676

 

8192

#: includes/functions/wcj-functions-general.php:685

8193

8193

#: includes/settings/wcj-settings-empty-cart.php:68

8194

8194

msgid "Cart totals: After shipping"

8195

8195

msgstr ""

8196

8196

8197

 

#: includes/functions/wcj-functions-general.php:677

 

8197

#: includes/functions/wcj-functions-general.php:686

8198

8198

#: includes/settings/wcj-settings-empty-cart.php:69

8199

8199

msgid "Cart totals: Before order total"

8200

8200

msgstr ""

8201

8201

8202

 

#: includes/functions/wcj-functions-general.php:678

 

8202

#: includes/functions/wcj-functions-general.php:687

8203

8203

#: includes/settings/wcj-settings-empty-cart.php:70

8204

8204

msgid "Cart totals: After order total"

8205

8205

msgstr ""

8206

8206

8207

 

#: includes/functions/wcj-functions-general.php:679

 

8207

#: includes/functions/wcj-functions-general.php:688

8208

8208

msgid "Proceed to checkout"

8209

8209

msgstr ""

8210

8210

8211

 

#: includes/functions/wcj-functions-general.php:680

 

8211

#: includes/functions/wcj-functions-general.php:689

8212

8212

msgid "After cart totals"

8213

8213

msgstr ""

8214

8214

8215

 

#: includes/functions/wcj-functions-general.php:682

 

8215

#: includes/functions/wcj-functions-general.php:691

8216

8216

msgid "Before shipping calculator"

8217

8217

msgstr ""

8218

8218

8219

 

#: includes/functions/wcj-functions-general.php:683

 

8219

#: includes/functions/wcj-functions-general.php:692

8220

8220

msgid "After shipping calculator"

8221

8221

msgstr ""

8222

8222

8223

 

#: includes/functions/wcj-functions-general.php:685

 

8223

#: includes/functions/wcj-functions-general.php:694

8224

8224

msgid "If cart is empty"

8225

8225

msgstr ""

…

…

 

21537

21537

msgstr ""

21538

21538

21539

 

#: includes/shortcodes/class-wcj-input-field-shortcodes.php:62

 

21539

#: includes/shortcodes/class-wcj-input-field-shortcodes.php:69

21540

21540

msgid "Attribute \\"name\\" is required!"

21541

21541

msgstr ""
  • woocommerce-jetpack/trunk/readme.txt

    r2950156

    r2966325

3

3

Tags: woocommerce customization, woocommerce bundle, woocommerce product addon, woocommerce integration, ecommerce plugin

4

4

Requires at least: 5.8

5

 

Tested up to: 6.2.2

 

5

Tested up to: 6.3.1

6

6

Requires PHP: 7.2

7

 

Stable tag: 7.1.0

 

7

Stable tag: 7.1.1

8

8

License: GNU General Public License v3.0

9

9

License URI: http://www.gnu.org/licenses/gpl-3.0.html

…

…

 

279

279

280

280

\== Changelog ==

 

281

 

282

\= 7.1.1 13/09/2023 =

 

283

 

284

\* FIXED - Rectified the issue of Authenticated Information Disclosure through Shortcodes.

 

285

\* FIXED - Addressed the Cross-Site Scripting vulnerability issue associated with the Shortcodes.

 

286

\* WooCommerce 8.0.3 Tested

 

287

\* WordPress 6.3.1 Tested

281

288

282

289

\= 7.1.0 09/08/2023 =
  • woocommerce-jetpack/trunk/version-details.json

    r2950156

    r2966325

1

1

{

2

 

    "0" : "= 7.1.0 09/08/2023 =",

3

 

    "1" : "\* FIXED - Added Security vulnerability fixes.",

4

 

    "2" : "\* WooCommerce 8.0.0 Tested"

 

2

    "0" : "= 7.1.1 13/09/2023 =",

 

3

    "1" : "\* FIXED - Rectified the issue of Authenticated Information Disclosure through Shortcodes.",

 

4

    "2" : "\* FIXED - Addressed the Cross-Site Scripting vulnerability issue associated with the Shortcodes.",

 

5

    "3" : "\* WooCommerce 8.0.3 Tested",

 

6

    "4" : "\* WordPress 6.3.1 Tested"

5

7

}
  • woocommerce-jetpack/trunk/woocommerce-jetpack.php

    r2950156

    r2966325

4

4

 \* Plugin URI: https://booster.io

5

5

 \* Description: Supercharge your WooCommerce site with these awesome powerful features. More than 100 modules.All in one WooCommerce plugin.

6

 

 \* Version: 7.1.0

 

6

 \* Version: 7.1.1

7

7

 \* Author: Pluggabl LLC

8

8

 \* Author URI: https://booster.io

…

…

 

10

10

 \* Domain Path: /langs

11

11

 \* Copyright: © 2020 Pluggabl LLC.

12

 

 \* WC tested up to: 8.0.0

 

12

 \* WC tested up to: 8.0.3

13

13

 \* License: GNU General Public License v3.0

14

14

 \* php version 7.2

…

…

 

66

66

         \* @since 2.4.7

67

67

         \*/

68

 

        public $version = '7.1.0';

 

68

        public $version = '7.1.1';

69

69

70

70

        /\*\*

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907